我想在我的文本文件的一小部分上运行Hadoop MapReduce。
我的任务之一是失败。我可以在日志中读到:
处理拆分:hdfs://localhost:8020/user/martin/history/history.xml:3556769792+67108864
我可以再次对这个文件执行MapReduce从偏移3556769792到3623878656(3556769792+67108864)吗?
一种方法是从偏移量定义中复制文件并将其添加回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'