我有两个数据框:df1和df2
DF1
|--- id---|---value---|
| 1 | 23 |
| 2 | 23 |
| 3 | 23 |
| 2 | 25 |
| 5 | 25 |
DF2
|-idValue-|---count---|
| 1 | 33 |
| 2 | 23 |
| 3 | 34 |
| 13 | 34 |
| 23 | 34 |
我如何得到这个?
|--- id--------|---value---|---count---|
| 1 | 23 | 33 |
| 2 | 23 | 23 |
| 3 | 23 | 34 |
| 2 | 25 | 23 |
| 5 | 25 | null |
我在做:
val groupedData = df1.join(df2, $"id" === $"idValue", "outer")
但是我没有看到分组数据中的最后一列。这是正确的做法吗?或者我做错了什么?
答案 0 :(得分:6)
根据您的预期输出,您需要LEFT OUTER JOIN。
val groupedData = df1.join(df2, $"id" === $"idValue", "left_outer").
select(df1("id"), df1("count"), df2("count")).
take(10).foreach(println)