![](/img/trans.png)
[英]Filter Column Text starting with > in Spark Scala DataFrame
[英]Filter NULL value in dataframe column of spark scala
我有一个dataframe(df)与以下内容:
+---------+--------------------+
| col1| col2 |
+---------+--------------------+
|colvalue1| NULL|
|colvalue2|col2value... |
+------------+-----------------+
我正在尝试基于col2过滤行,如下所示
df.filter(($"col2".isNotNULL) || ($"col2" !== "NULL") || ($"col2" !== "null") || ($"col2".trim !== "NULL"))
但是具有NULL的行不进行过滤。 此列显示nullable=true
。
谁能让我知道我在做什么错误? 我正在使用Spark 1.6。
您的!==
表示法错误,应该是=!=
,并且您不能使用$"col2".trim
并且因为您使用了||
$"col2".trim
,否定总是正确的 。 在您的示例中($"col2".isNotNULL)
始终为true,因此每行都被过滤。 因此||
应该小心。
所以正确的形式是
df.filter(!($"col2".isNull || ($"col2" === "NULL") || ($"col2" === "null")))
甚至更好,如果您使用内置函数isnull
和trim
df.filter(!(isnull($"col2") || (trim($"col2") === "NULL") || (trim($"col2") === "null")))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.