指定Hadoop进程拆分

时间:2013-09-17 05:19:18

标签: hadoop mapreduce

我想在我的文本文件的一小部分上运行Hadoop MapReduce。

我的任务之一就是失败。我可以在日志中阅读:

  

处理拆分:hdfs:// localhost:8020 / user / martin / history / history.xml:3556769792 + 67108864

我可以在此文件上再次执行MapReduce,从偏移量3556769792到3623878656(3556769792 + 67108864)吗?

1 个答案:

答案 0 :(得分:2)

一种方法是从偏移定义中复制文件并将其添加回HDFS。从这一点开始,只需在此块上运行mapreduce作业。

1)从偏移3556769792复制文件,然后按67108864:

  

dd if = history.xml bs = 1 skip = 3556769792 count = 67108864>   history_offset.xml

2)导入HDFS

  

hadoop fs -copyFromLocal history_offset.xml offset / history_offset.xml

3)再次运行MapReduce

  

hadoop jar myJar.jar'offset''offset_output'