gpt4 book ai didi

java - 如何使用 MultipleInputs 在映射器中获取文档 ID

转载 作者:可可西里 更新时间:2023-11-01 15:40:20 27 4
gpt4 key购买 nike

出于学习目的,我正在使用 Java 中的 Hadoop(没有 Pig 或 Hive)编写 TF-IDF。我将把它分成三轮:字数统计、每个文档的字数统计,最后是每个字的 docCount。

我相信主要的作业链是正确的,但是我一开始就有一个问题:在我的第一轮中,我如何在映射器中获取文档 ID?我有以下多个输入:

    Path doc1 = new Path(System.getProperty("user.dir") + "/1.dat");
Path doc2 = new Path(System.getProperty("user.dir") + "/2.dat");
Path doc3 = new Path(System.getProperty("user.dir") + "/3.dat");
MultipleInputs.addInputPath(job1, doc1, TextInputFormat.class, MapperRoundOne.class);
MultipleInputs.addInputPath(job1, doc2, TextInputFormat.class, MapperRoundOne.class);
MultipleInputs.addInputPath(job1, doc3, TextInputFormat.class, MapperRoundOne.class);
  • 第 1 轮:
  • Mapper {docID => [words]} --> {[word, docID] => 1}
  • Reducer {[word, docId] => [1,1,...]} --> {[word, docId] => wordCount}

我显然可以将每个输入设置为不同的映射器,并对 docID 进行硬编码,这显然不是通用的。如何做到这一点?

最佳答案

关于java - 如何使用 MultipleInputs 在映射器中获取文档 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650011/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com