如何删除DataFrame中的特定列的NULL和空?

时间:2017-04-09 12:46:42

标签: apache-spark apache-spark-sql

我想从demo_name为NULL且demo_name为空的数据框中删除记录。

demo_name是该dataFrame中具有String数据类型

的列

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

   val filterDF = demoDF.filter($"demo_name".isNotNull && $"demo_name".trim != "" )

但是因为无法解决符号修剪而出现错误

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

1 个答案:

答案 0 :(得分:3)

您正在呼叫trim,就好像您正在使用String,但$功能使用implicit转换将列的名称转换为{{ 1}}实例本身。问题是Column没有Column功能。

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

trim

在这里,我使用库函数import org.apache.spark.sql.functions._ demoDF.filter($"demo_name".isNotNull && length(trim($"demo_name")) > 0) trim - length来删除空格,然后trim以验证结果中包含任何内容。