本以为spark dataframe中 null值也可以作为join条件,没想到是错的,记录一下啊😣;
看下面的验证代码块可以看到结果。
val df1 = spark.sparkContext.parallelize(Seq((1, "a"), (2, null))).toDF("id1", "v")
val df2 = spark.sparkContext.parallelize(Seq((3, "a"), (4, null))).toDF("id2", "v")
df1.join(df2,Seq("v"),"full").show(false)
+----+----+----+
|v |id1 |id2 |
+----+----+----+
|null|2 |null|
|null|null|4 |
|a |1 |3 |
+----+----+----+