【发布时间】:2017-07-04 16:05:55
【问题描述】:
我是 Spark 和 Scale 的新手,可能真的需要提示来解决我的问题。所以我有两个 DataFrames A(列 id 和名称)和 B(列 id 和文本)想加入它们,按 id 分组并将所有文本行组合成一个字符串:
一个
+--------+--------+
| id| name|
+--------+--------+
| 0| A|
| 1| B|
+--------+--------+
B
+--------+ -------+
| id| text|
+--------+--------+
| 0| one|
| 0| two|
| 1| three|
| 1| four|
+--------+--------+
想要的结果:
+--------+--------+----------+
| id| name| texts|
+--------+--------+----------+
| 0| A| one two|
| 1| B|three four|
+--------+--------+----------+
到目前为止,我正在尝试以下方法:
var C = A.join(B, "id")
var D = C.groupBy("id", "name").agg(collect_list("text") as "texts")
这很好用,除了我的文本列是字符串数组而不是字符串。非常感谢您的帮助。
【问题讨论】:
标签: scala apache-spark dataframe