如何从reducers输出中删除重复项?

时间:2016-02-09 09:18:51

标签: hadoop mapreduce

如何从reducer输出中删除重复项?Reducer生成part-r-0000文件,其中包含许多重复值。我想从此文件中删除所有重复值。我正在进行推文分析。请帮助。

2 个答案:

答案 0 :(得分:0)

你可以用一个简单的猪脚本来做:LOAD,DISTINCT,STORE。

答案 1 :(得分:0)

根据您的工作,您有多种可能性。

1)多阶段工作

您可以添加另一个读取结果数据的Map Reduce作业。计算您的值的哈希值。哈希是您要发送到reducer的键以及要写入的所有其他信息。现在,您可以在一个reduce步骤中获得相同值的所有信息。做你需要做的迭代,只需取第一个或看一下,这取决于你的特定用例。

2)二级排序

如果您已经知道某个密钥包含所有重复数据,但是对于要使用的简单集,数据会很大。比看二级排序。此功能提供了对键值进行排序的可能性。现在,您可以直接跳过已经写过的条目,直到新的条目到来。