【发布时间】:2017-02-09 11:58:12
【问题描述】:
我们如何合并 2 个没有重复列的数据框
a.show()
+-----+-------------------+--------+------+
| Name| LastTime|Duration|Status|
+-----+-------------------+--------+------+
| Bob|2015-04-23 12:33:00| 1|logout|
|Alice|2015-04-20 12:33:00| 5| login|
+-----+-------------------+--------+------+
b.show()
+-----+-------------------+--------+------+
| Name| LastTime|Duration|Status|
+-----+-------------------+--------+------+
| Bob|2015-04-24 00:33:00| 1|login |
+-----+-------------------+--------+------+
我想通过使用数据框 A 中的整个数据来形成一个新的数据框,但使用 B 中的数据更新行
+-----+-------------------+--------+------+
| Name| LastTime|Duration|Status|
+-----+-------------------+--------+------+
| Bob|2015-04-24 00:33:00| 1|login |
|Alice|2015-04-20 12:33:00| 5| login|
+-----+-------------------+--------+------+
我能够在 Scala 中加入并形成数据框。但不能在JAVA中做。
DataFrame f=a.join(b,a.col("Name").equalsTo(b.col("Name")).and a.col("LastTime).equalsTo(b.col("LastTime).and(a.col("Duration").equalsTo(b.col("Duration"),"outer")
我在像这样执行 JOIN 时得到重复的列。
【问题讨论】:
标签: java apache-spark apache-spark-sql spark-dataframe