我既不能用pyspark也不能用scala。我只能写sql代码。我有一个表,有两列item id,name。
item_id, name
1 name1
1 name2
1 name3
2 name4
2 name5
我想用一个 item_id
连接。
item_id, names
1 name1-name2-name3
2 name4-name5
如何使用sparksql创建这样的表?
3条答案
按热度按时间ffvjumwh1#
你可以试试下面的-
ttygqcqt2#
您可以使用spark data frame的groupby和agg方法以及concat\u ws函数:
字段分组依据
item_id
以及通过将每个名称字段串联在一起来聚合它们。m1m5dgzv3#
sparksql的妙处在于,一旦您有了任何受支持语言(scala、java、python、r或sql)的解决方案,您就可以在某种程度上找出其他变体。
下面的sql语句似乎满足了您的要求:
在
spark-shell
结果如下: