Impala 代替 hive COLLECT_SET函式的方式
背景
之前是在HIVE上開發,GROUP BY 某些欄位後,其他欄位使用COLLECT_SET(ITEM)[0]的方式取相同欄位值中的一個,而在Impala上沒有COLLECT_SET函式。
方案
使用GROUP_CONCAT函式+SPLIT_PART函式替代
## IMPALA
SELECT SCORE,SPLIT_PART(GROUP_CONCAT(NAME),',',1) FROM TEST.STUDENT GROUP BY SCORE
## HIVE
SELECT SCORE,COLLECT_SET(NAME)[0] FROM TEST.STUDENT GROUP BY SCORE