sks*_*s27 0 sql apache-spark-sql pyspark pyspark-sql
我正在尝试通过 pyspark 构建 sql 来实现这一点。目标是将多行组合成单行示例:我想将其转换为
+-----+----+----+-----+
| col1|col2|col3| col4|
+-----+----+----+-----+
|x | y | z |13::1|
|x | y | z |10::2|
+-----+----+----+-----+
Run Code Online (Sandbox Code Playgroud)
到
+-----+----+----+-----------+
| col1|col2|col3| col4|
+-----+----+----+-----------+
|x | y | z |13::1;10::2|
+-----+----+----+-----------+
Run Code Online (Sandbox Code Playgroud)
您正在寻找的是此答案的 spark-sql 版本,如下所示:
query = """
select col1,
col2,
col3,
concat_ws(';', collect_list(col4)) as col4
from some_table
group by col1,
col2,
col3
"""
spark.sql(query).show()
#+----+----+----+-----------+
#|col1|col2|col3| col4|
#+----+----+----+-----------+
#| x| y| z|13::1;10::2|
#+----+----+----+-----------+
Run Code Online (Sandbox Code Playgroud)
但请注意,由于 spark 是分布式的,因此不能保证保持任何特定顺序,除非您明确指定顺序。
查看更多:
| 归档时间: |
|
| 查看次数: |
3472 次 |
| 最近记录: |