2017-04-09 48 views
0

我想删除一个数据框中的记录,其中demo_name为NULL,demo_name为空。如何删除NULL并为DataFrame中的特定列清空?

demo_name是在数据帧与字符串数据类型

我想下面的代码列。我想应用修剪,因为有多个空格的demo_name的记录。

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

,但我得到的错误是不能解析符号修剪

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

回答

2

要调用trim,如果你是作用于String,但$功能使用implicit转换将名称转换列到Column实例本身。问题是Column没有trim功能。

你需要导入库函数,并把它们应用到你的专栏:

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

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

这里我用的库函数trimlength - trim剥离过程中的空间,然后length验证结果有任何内容。

+0

感谢您的意见,它的工作原理.. –

+0

很高兴提供帮助。请注意并接受,以便其他人也能受益。 – Vidya

相关问题