将两个不同hadoop作业的输出写入同一组reducer

cig3rfwq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(377)

我有一个需要运行两个的场景 Hadoop 作业计算 n-gram 统计两个不同的语料库,并确保他们将每个n-gram(以及它的分数)写入同一个reducer(以便将来我可以在本地读取数据,并比较和对比两个语料库中的两个分数)。例如,如果作业 J1 执行机器上的一个减速机 M 写n-gram N 在当地,我想找份工作 J2 也可以写n-gram N 到同一台机器 M .
我知道如何计算一个语料库的n-gram统计数据(作为参考,可以参考google的这篇文章)。我还定义了我的自定义分区器(根据n-gram中的前两个单词进行哈希运算)。现在,我如何确保同一程序的两次不同运行(在两个不同的语料库上)最终将相应的输出写入相同的缩减器?

gg0vcinb

gg0vcinb1#

查看多个输入。通过将两个同级Map器指向同级数据集,可以避免在缩减之前在组合集上运行idMap。

相关问题