您的位置:首页 > 其它

Hive去重复数据

2015-07-10 15:10 148 查看
这几天我一直在研究Hive,我们今天看一个新的知识,Hive去重复数据。

Hive数据去重

Sql代码

insert overwrite table store
select t.p_key,t.sort_word from
( select p_key,
sort_word ,
row_number() over(distribute by p_key sort by sort_word) as rn
from store) t
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 就可以对某一个关键字排序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: