我在Elastic Map-Reduce上有一组Hive表,它们有一些重复的元素。是否有一种简单的方法来重复这些表格?
我想到的是倾倒到一组猪可消化文件,启动猪并使用DISTINCT查询重新生成表。不过,这似乎是相当多的工作,所以我想知道是否有更简单的方法。
答案 0 :(得分:2)
一个查询应删除重复项:
INSERT OVERWRITE TABLE table
SELECT DISTINCT Col1, Col2 , ..., ColN FROM table
答案 1 :(得分:1)
如果您需要对(客户,主机,产品,位置)等唯一列进行重复数据删除,您也可以将其加入自身。
如果您获得具有不同时间戳或其他内容的多个条目,则非常有用。
INSERT OVERWRITE TABLE my_table
select a.* from my_table a
inner join ( select min(id) as id from my_table group by unique_column ) b on ( a.id = b.id );