Spark Scala - 如何为每个组创建新列,然后在spark数据框中展开列值

时间:2017-04-07 12:52:54

标签: scala apache-spark

我的数据框如下所示  列名索引,单词

Index | words
one | {col1: a, col2: b}
one | {col1: c, col2: d}
two | {col1: a, col2: b}
two | {col1: e, col2: f}

我正在寻找下面的输出 输出df列名一,二

one | two
 {col1: a, col2: b} | {col1: a, col2: b}
 {col1: c, col2: d} | {col1: e, col2: f}

任何人请帮我解决这个问题。我正在使用spark 1.5.2版本

1 个答案:

答案 0 :(得分:0)

如果您确定每个索引值都有两个单词,您可以使用以下内容:

sqlContext.sql("select Index, collect_list(words)[0],collect_list(words)[1] from yourTable group by Index").show