美文网首页
hive中对多行进行合并—collect_set&collect

hive中对多行进行合并—collect_set&collect

作者: 踽踽独行DIY | 来源:发表于2019-07-12 09:29 被阅读0次

    最近在做项目的时候需要对数据组埋点得到的数据进行合并:

    1.原始数据我需要拿到post_id,district_id字段,而一个post可能投放到同一城市的多个district,而在后期使用数据时,需要的数据形式是同一个post_id的记录不可以因为多个district产生多条记录,因此需要将多个district合并为一个值;

    2.而在原始表中,district_id的值是INT类型;

    3.需要对字段进行去重。

    因此,我进行了如下操作:

    select

            post_id,

            concat_ws(',',collect_set(string(district_id))) district_id

    from

            ods.ods_jz_post_address

    group by post_id

    ***若不需要去重,可选择collect_list()函数代替collect_set(),具体语法请自行查找***

    相关文章

      网友评论

          本文标题:hive中对多行进行合并—collect_set&collect

          本文链接:https://www.haomeiwen.com/subject/hlbskctx.html