Я хотел бы включить null значения в Apache Spark join. Spark не включает строки с нулевым значением по умолчанию.Включая нулевые значения в Apache Spark Join
Это поведение по умолчанию 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