写入期间拆分文件

时间:2012-06-18 16:07:58

标签: hadoop mapreduce hadoop-streaming

大师!

很长一段时间我都找不到以下问题的答案:如何在写作过程中将大文件拆分。 例: 1)块大小64 Mb 2)文件大小128 Mb(平面文件,包含文本)。

当我写文件时,它将被分成2部分(文件大小/块大小)。 但是...... 可能会发生 Block1将在 ... word300 word301 wo 和Block 2将开始 rd302 word303 ... 写案例将是

Block1将结束于 ... word300 word301 和Block 2将开始 word302 ** word303 ...

或者你可以在写关于hadoop分裂算法的地方链接。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

文件将根据字节任意分割。因此,它可能会将其分为word302

这不是您必须经常担心的问题,也不是系统的设计方式。 MapReduce作业的InputFormatRecordReader部分处理记录边界之间的记录。

答案 1 :(得分:0)

看起来this wiki页面,hadoop InputFormat将读取FileSplit的最后一行超过分割边界,并且当读取除第一个FileSplit以外的内容时,它会忽略直到第一个换行符的内容。