Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 其中忽略数据集中的空值_Scala_Apache Spark - Fatal编程技术网

Scala 其中忽略数据集中的空值

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

我有所有这些空值,因为我做了两个数据集的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: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