簡體   English   中英

Spark SQL 中 LISTAGG() 的等價物

[英]Equivalent of LISTAGG() in Spark SQL

我正在 Spark SQL 中重寫 Redshift SQL。由於 LISTAGG() 在 Spark SQL 中不受支持,是否有等效的 function 或解決方法來實現它?

紅移 SQL:

SELECT
        dp_info_id,
        dp_type,
        CASE
            WHEN COALESCE(type,'-1') = 'Primary Name' 
            THEN LISTAGG(DISTINCT fir_name,'|') WITHIN GROUP (ORDER BY dp_info_id) 
            ELSE NULL
        END AS primary_first_name,
FROM
        dp_info c
GROUP BY
        dp_info,
        type,
        dp_type

要從組中獲取所有值的數組,我猜你應該使用 collect_set ( https://docs.databricks.com/sql/language-manual/functions/collect_list.html )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM