【发布时间】:2016-10-19 09:41:44
【问题描述】:
我正在寻找一种对 DataFrame 中具有空数据的字段使用过滤器的方法。 下面是我的示例 DataFrame,其中包含两个字段:id 和 value。 value 字段中有一个空值。
val testData = Array((1,"actualstring1"),(2,null),(3,"actualstring2"),(4,"testString1"))
val testDataDF = sc.parallelize(testData).toDF("id", "value")
我使用下面的代码 sn-p 过滤掉测试字符串,假设输出有三个记录。令我惊讶的是,我只有以下两条记录:
testDataDF.filter(!col("value").contains("test")).show
结果如下:
+---+-------------+
| id| value|
+---+-------------+
| 1|actualstring1|
| 3|actualstring2|
+---+-------------+
这里我们看到id=2 的记录在这个过滤过程中被忽略了。
我现在坚持如何在输出中包含id=2 的行以及我们得到的两行。
感谢任何帮助
【问题讨论】:
标签: apache-spark dataframe apache-spark-sql