tongchenkeji 发表于:2023-3-7 12:30:390次点击 已关注取消关注 关注 私信 请问mc里面collect_set如何保证有序?[阿里云MaxCompute] 暂停朗读为您朗读 请问mc里面collect_set如何保证有序? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 MaxCompute# 云原生大数据计算服务 MaxCompute3255
爱回答的三好学生AM 2023-11-27 18:29:54 1 collect_set这个函数,顺序是随机的不保证有序;如果需要有序的话,可以加within group(如果指定了WITHIN GROUP (ORDER BY…),那么聚合函数的输入会保证有序。这个功能对WM_CONCAT, COLLECT_LIST, COLLECT_SET等对数据输入顺序敏感的内置聚合函数可以使用。) 请参考链接:https://help.aliyun.com/document_detail/48975.html此回答出自钉群“MaxCompute开发者社区2群”
collect_set这个函数,顺序是随机的不保证有序;如果需要有序的话,可以加within group(如果指定了WITHIN GROUP (ORDER BY…),那么聚合函数的输入会保证有序。这个功能对WM_CONCAT, COLLECT_LIST, COLLECT_SET等对数据输入顺序敏感的内置聚合函数可以使用。) 请参考链接:https://help.aliyun.com/document_detail/48975.html此回答出自钉群“MaxCompute开发者社区2群”
两个方式,第一种是开窗的时候进行排序,第二种是在collect_set外面弄一个collect_list,因为list是有序的