如何从减速器输出中删除重复项?化简器生成包含许多重复值的 part-r-0000 文件。我想从此文件中删除所有重复值。我正在研究推文分析。请帮忙。
根据您的工作,您有多种可能性。
1) 多阶段作业
您可以添加另一个地图化简作业来读取结果数据。计算值的哈希值。哈希是您要发送给化简器的密钥,以及您要写入的所有其他信息。现在,您可以在一个归约步骤中获得相同值的所有信息。做你需要对可迭代对象做的事情,只拿第一个或看一看,这取决于你的具体用例。
2) 二次分拣
如果您已经知道一个键保存所有重复的数据,但数据对于要使用简单的数据集来说太大。然后看看二次排序。此功能提供了对键的值进行排序的可能性。现在,您可以简单地跳过已经编写的条目,直到出现新条目。
你可以用一个简单的 pig 脚本来做到这一点:加载、区分、存储。