map如何从输入文件中删除读取以获取键和值

时间:2013-12-09 15:41:20

标签: java mapreduce

我正在尝试使用map reduce实现最短路径,这是我的输入文件键值

Source Node            <Destination node,Weight>            
1                      <2,3>
1                      <3,1>
2                      <2,1>
2                      <3,4>

依旧。我知道在运行时输入文件是从hdfs中使用类似的东西挑选的。$ HADOOP_HOME / bin / hadoop --config $ HADOOP_CONF_DIR jar Assignment3.jar InputMatrix.txt
in bash脚本提交到集群。但我不明白映射器是如何获得键和值的,我是否需要对输入文件进行标记以获取密钥和权重,我想要得到最少的相关的权重值,所以我的减少得到像这样的[1,&lt; 2,3&gt;,1,&lt; 3,1&gt;],所以它循环相关的权重,以得到我最小的值,在这种情况下是关于键1,但我不明白如何在运行时键可用于映射器以及如何解析完成以获取键(在上面的输入文件键中)由制表符(“\ t”)分隔开来它们的值和值是“,”分开的

1 个答案:

答案 0 :(得分:0)

取决于输入格式,但如果您使用的是标准inputformat(TextInputFormat),则会逐行处理。然后,map任务的输入是:文件中的偏移量,输入文件的行是值。您可以在选项卡字符上拆分文件。另一种方法是使用键值输入格式。