Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何删除DataFrame中特定列的NULL和empty?_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 如何删除DataFrame中特定列的NULL和empty?

Apache spark 如何删除DataFrame中特定列的NULL和empty?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我想从demo_name为NULL、demo_name为空的数据帧中删除记录 demo_name是该数据框中具有字符串数据类型的列 我正在尝试下面的代码。我想应用trim,因为demo_name有多个空格的记录 val filterDF = demoDF.filter($"demo_name".isNotNull && $"demo_name".trim != "" ) 但我得到了错误,因为无法解决符号修剪 有人能帮我解决这个问题吗?您正在调用trim,就好像您正在处理字

我想从demo_name为NULL、demo_name为空的数据帧中删除记录

demo_name是该数据框中具有字符串数据类型的列

我正在尝试下面的代码。我想应用trim,因为demo_name有多个空格的记录

   val filterDF = demoDF.filter($"demo_name".isNotNull && $"demo_name".trim != "" )
但我得到了错误,因为无法解决符号修剪


有人能帮我解决这个问题吗?

您正在调用
trim
,就好像您正在处理
字符串一样,但是
$
函数使用
隐式
转换将列的名称转换为
实例本身。问题是
没有
修剪
功能

您需要导入库函数并将其应用于列:

import org.apache.spark.sql.functions._

demoDF.filter($"demo_name".isNotNull && length(trim($"demo_name")) > 0)

在这里,我使用库函数
trim
length
-
trim
去除空格,然后
length
验证结果中是否包含任何内容。

您调用
trim
,就好像在对
字符串执行操作一样,但是
$
函数使用
隐式
转换将列的名称转换为
实例本身。问题是
没有
修剪
功能

您需要导入库函数并将其应用于列:

import org.apache.spark.sql.functions._

demoDF.filter($"demo_name".isNotNull && length(trim($"demo_name")) > 0)

在这里,我使用库函数
trim
length
-
trim
来去除空格,然后
length
来验证结果中是否包含任何内容。

很高兴提供帮助。请投票并接受,这样其他人也能从中受益。乐意帮助。请投票并接受,这样其他人也能受益。