2

我在 Elastic Map-Reduce 上有一组 Hive 表,其中有一些重复的元素。有没有一种简单的方法可以对这些表进行重复数据删除?

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

4

2 回答 2

2

一个查询应该删除重复项:

INSERT OVERWRITE TABLE table
SELECT DISTINCT Col1, Col2 , ..., ColN FROM table
于 2013-04-05T17:35:33.993 回答
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 );
于 2014-06-17T21:20:41.830 回答