gpt4 book ai didi

Hadoop 读取整个文件并发送给许多映射器

转载 作者:可可西里 更新时间:2023-11-01 16:26:29 24 4
gpt4 key购买 nike

我正在编写一个 hadoop 应用程序,我想在其中读取整个输入文件并将其发送给 manny 映射器,并让每个映射器完成部分工作。这是我的 FileInputFormat。我必须让 isSplitable 返回 false,这样我才能读取整个文件。但是,这会导致只有 one mapper 会被初始化。有没有人可以告诉我如何读取整个输入文件并将其发送给多个映射器进行处理?

public class WholeFileInputFormat extends FileInputFormat<PairWritable, BytesWritable> {
@Override
protected boolean isSplitable(FileSystem fs, Path filename) {
return false;
}

@Override
public RecordReader<PairWritable, BytesWritable> getRecordReader(
InputSplit split, JobConf job, Reporter reporter) throws IOException {
return new WholeFileRecordReader((FileSplit) split, job);
}
}

最佳答案

向 WholeFileInputFormat 添加一个 getSplits 的实现,它可以返回任意数量的重复项。

关于Hadoop 读取整个文件并发送给许多映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20866008/

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