我想在Apache Spark連接中包含空值。默認情況下,Spark不包含空行。在Apache Spark連接中包含空值
這是默認的Spark行爲。
val numbersDf = Seq(
("123"),
("456"),
(null),
("")
).toDF("numbers")
val lettersDf = Seq(
("123", "abc"),
("456", "def"),
(null, "zzz"),
("", "hhh")
).toDF("numbers", "letters")
val joinedDf = numbersDf.join(lettersDf, Seq("numbers"))
這裏是joinedDf.show()
輸出:
+-------+-------+
|numbers|letters|
+-------+-------+
| 123| abc|
| 456| def|
| | hhh|
+-------+-------+
這是輸出,我想:
+-------+-------+
|numbers|letters|
+-------+-------+
| 123| abc|
| 456| def|
| | hhh|
| null| zzz|
+-------+-------+
謝謝。 [這是另一個很好的答案](http://stackoverflow.com/questions/31240148/spark-specify-multiple-column-conditions-for-dataframe-join),它使用'<=>'操作符。如果您正在進行多列連接,則可以使用'&&'運算符鏈接條件。 – Powers