java - 提供具有相同文件分割的 map 分割

标签 java hadoop mapreduce hadoop-partitioning

如何为馈送给映射器的文件的每一行提供相同文件的拆分?

基本上我想做的是

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/

相关文章:

java - 如何通过Java刷新Excel数据源

hadoop - 验证 Hive 单查询和多查询并行性

java - 如何在 Hadoop 1.0.4 中链接映射器/ reducer ?

java - Java较慢,具有大堆,没有过多的gc-ing

java - 减少代码重复

java - Maven 程序集 : including a file at the parent level of baseDirectory

c# - 基于动态属性创建 RavenDB 索引

sql - 选择配置单元中的下一个非空字段

hadoop - 设置多节点hadoop集群Blackpool ID不匹配

java - hadoop 中 map 阶段之后的 reduce 阶段如何工作