Scala 其中忽略数据集中的空值
我有所有这些空值,因为我做了两个数据集的leftouter连接。 我希望输出包含空值。Scala 其中忽略数据集中的空值,scala,apache-spark,Scala,Apache Spark,我有所有这些空值,因为我做了两个数据集的leftouter连接。 我希望输出包含空值。 有什么方法可以做到这一点吗?您可以将空值检查作为 +-------------------+------+---+ | timestamp|status|msg| +-------------------+------+---+ |2017-01-01 06:15:00| ASC_a| 1| |2017-01-01 06:19:00| start| 2| |2017-01-01 06:2
有什么方法可以做到这一点吗?您可以将空值检查作为
+-------------------+------+---+
| timestamp|status|msg|
+-------------------+------+---+
|2017-01-01 06:15:00| ASC_a| 1|
|2017-01-01 06:19:00| start| 2|
|2017-01-01 06:22:00| ASC_b| 2|
|2017-01-01 06:30:00| null| 2|
|2017-01-01 10:45:00| ASC_a| 3|
|2017-01-01 10:50:00| null| 3|
|2017-01-01 11:22:00| ASC_c| 4|
|2017-01-01 11:31:00| end| 5|
+-------------------+------+---+
ds.where($"status" =!= "ASC_b").show
+-------------------+------+---+
| timestamp|status|msg|
+-------------------+------+---+
|2017-01-01 06:15:00| ASC_a| 1|
|2017-01-01 06:19:00| start| 2|
|2017-01-01 10:45:00| ASC_a| 3|
|2017-01-01 11:22:00| ASC_c| 4|
|2017-01-01 11:31:00| end| 5|
+-------------------+------+---+
您可以在筛选器中包含空检查,如下所示:
+-------------------+------+---+
| timestamp|status|msg|
+-------------------+------+---+
|2017-01-01 06:15:00| ASC_a| 1|
|2017-01-01 06:19:00| start| 2|
|2017-01-01 06:22:00| ASC_b| 2|
|2017-01-01 06:30:00| null| 2|
|2017-01-01 10:45:00| ASC_a| 3|
|2017-01-01 10:50:00| null| 3|
|2017-01-01 11:22:00| ASC_c| 4|
|2017-01-01 11:31:00| end| 5|
+-------------------+------+---+
ds.where($"status" =!= "ASC_b").show
+-------------------+------+---+
| timestamp|status|msg|
+-------------------+------+---+
|2017-01-01 06:15:00| ASC_a| 1|
|2017-01-01 06:19:00| start| 2|
|2017-01-01 10:45:00| ASC_a| 3|
|2017-01-01 11:22:00| ASC_c| 4|
|2017-01-01 11:31:00| end| 5|
+-------------------+------+---+
只需否定
运算符:
ds.where($"status" =!= "ASC_b" || $"status".isNull).show
import org.apache.spark.sql.functions.not
ds.where(非($“状态”“ASC_b”)).show
只需否定
运算符:
ds.where($"status" =!= "ASC_b" || $"status".isNull).show
import org.apache.spark.sql.functions.not
ds.where(非($“状态”“ASC_b”)).show