spark datafrme提供了强大的JOIN操作。
但是在操作的时候,经常发现会碰到重复列的问题。...如下:
如分别创建两个DF,其结果如下:
val df = sc.parallelize(Array(
("one", "A", 1), ("one", "B", 2), ("two", "A...one| B| 2|null|null| null|
+----+----+-----+----+----+------+
假如这两个字段同时存在,那么就会报错,如下:org.apache.spark.sql.AnalysisException...: Reference 'key2' is ambiguous
因此,网上有很多关于如何在JOIN之后删除列的,后来经过仔细查找,才发现通过修改JOIN的表达式,完全可以避免这个问题。...df.join(df2, Seq("key1", "key2"), "left_outer").show()
+----+----+-----+------+
|key1|key2|value|