如何为馈送给映射器的文件的每一行提供相同文件的拆分?
基本上我想做的是
for each line in file-split
{
for each line in file{
//process
}
}
我可以在Java中使用Map Reduce做到这一点吗?
最佳答案
这里是你怎么做的:
1)在Mapper.setup()中初始化一个字符串 vector (如果拆分太大,则初始化一个文件-拆分大小通常约为输入n HDFS的块大小)。
2)在Mapper.map()中读取线条并将其添加到 vector 中。
3)现在,您已将 vector 中的整个分割。您是否在Mapper.cleanup()中进行处理:例如您可以遍历循环,然后将reducer的每一行作为键,并将split的所有行作为值写入到reducer中。
关于java - 提供具有相同文件分割的 map 分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22117605/