关闭

Hive去重复数据

90人阅读 评论(0) 收藏 举报

这几天我一直在研究Hive,我们今天看一个新的知识,Hive去重复数据

Hive数据去重

Sql代码  

  1. insert overwrite table store    
  2.   select t.p_key,t.sort_word from     
  3.     ( select p_key,    
  4.            sort_word ,    
  5.            row_number() over(distribute by p_key sort by sort_word) as rn   
  6.      from store) t    
  7.      where t.rn=1;    


说明:

  • p_key为去重所依据的key,sort_word表示多个p_key的排列顺序,这个关键字将决定哪个p_key将留下。
  • t 为子查询的别名,Hive需要在每个子查询后面加别名
  • t.rn=1表示重复的数据只保留第一个。
  • distribute by 关键字指定分发的key,同一个key将分发到同一个reducer
  • sort by 是单机范围内排序,因此配合distribute by 就可以对某一个关键字排序
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3323次
    • 积分:87
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:16篇
    • 译文:0篇
    • 评论:0条