重复删除Hive表有简单的方法吗?

时间:2013-04-05 13:50:58

标签: hive apache-pig elastic-map-reduce

我在Elastic Map-Reduce上有一组Hive表,它们有一些重复的元素。是否有一种简单的方法来重复这些表格?

我想到的是倾倒到一组猪可消化文件,启动猪并使用DISTINCT查询重新生成表。不过,这似乎是相当多的工作,所以我想知道是否有更简单的方法。

2 个答案:

答案 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 );