collect_set、collect_list 、concat_ws (多行合并)

本文介绍了一种使用collect_set和collect_list方法处理数据集中的重复元素的技术。通过对比这两个方法,我们发现collect_set可以有效地去除重复项,而collect_list则保留所有出现过的元素,包括重复的。这种区别对于数据清理和汇总特别有用。

collect_set去除重复元素;collect_list不去除重复元素

+------+-----------------------------------+------------------------------------+
|gender|concat_ws(,, collect_set(children))|concat_ws(,, collect_list(children))|
+------+-----------------------------------+------------------------------------+
|female|                             no,yes|                    no,yes,no,no,yes|
|  male|                             no,yes|                    no,yes,no,yes,no|
+------+-----------------------------------+------------------------------------+
根据引用\[1\]和引用\[2\]的内容,可以使用concat_ws函数结合collect_set函数来进行排序。首先,将collect_set函数改为collect_list函数或sort_array函数进行排序。例如,使用sort_array(collect_set(t.class), false)来对字段进行排序。然后,使用concat_ws函数将排序后的字段进行拼接。最后,根据需要使用group by语句对结果进行分组。这样就可以实现concat_wscollect_set的排序功能。引用\[1\]\[2\] #### 引用[.reference_title] - *1* [SQL之concat()collect_set()collect_list()concat_ws()用法](https://blog.youkuaiyun.com/weixin_48272780/article/details/128243152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [hive中的拼接函数concat,group_concat,concat_ws,collect_set)](https://blog.youkuaiyun.com/zll_1234/article/details/106329025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [hive concat_ws列转行排序问题](https://blog.youkuaiyun.com/qq_37067752/article/details/125238271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值