任何人都可以请建议Spark-SQL查询,用于通过考虑column 1的唯一值,将基于column 1,date(升序)的多行合并为一行。以下是数据
这是一个登记表,其中的数据如下:
column1 column2 timeStamp
abc enrolled 2022/09/01
abc changed 2022/09/02
abc registered 2022/09/04
abc blocked 2022/09/05
abc left 2022/09/06
def enrolled 2022/09/20
def changed 2022/09/21
def changed 2022/09/21
def changed 2022/09/24
def left 2022/09/25
ghi registered 2022/09/01
ghi changed 2022/09/02
ghi left 2022/09/03
ghi returned 2022/10/03
需要如下所示的查询输出:
out_column1 out_column2
abc enrolled-changed-registered-blocked-left
def enrolled-changed-changed-left
ghi registered-changed-left-returned
group_concat函数在pySpark中不可用
2条答案
按热度按时间0ejtzxu11#
| 输出列1|输出列2|
| - -|- -|
| abc公司|已登记-已更改-已注册-已阻止-左|
| 延迟|已登记-已更改-已更改-已更改-已离开|
| 吉|寄存-更改-左返回|
Fiddle
a2mppw5e2#
column1
值关联的所有字符串进行分组order by
子句将根据日期对字符串进行排序,您可以根据自己的喜好对其进行更改(默认为ASC)-