大师!
很长一段时间我都找不到以下问题的答案:如何在写作过程中将大文件拆分。 例: 1)块大小64 Mb 2)文件大小128 Mb(平面文件,包含文本)。
当我写文件时,它将被分成2部分(文件大小/块大小)。 但是...... 可能会发生 Block1将在 ... word300 word301 wo 和Block 2将开始 rd302 word303 ... 写案例将是
Block1将结束于 ... word300 word301 和Block 2将开始 word302 ** word303 ...
或者你可以在写关于hadoop分裂算法的地方链接。
提前谢谢!
答案 0 :(得分:0)
文件将根据字节任意分割。因此,它可能会将其分为wo
和rd302
。
这不是您必须经常担心的问题,也不是系统的设计方式。 MapReduce作业的InputFormat
和RecordReader
部分处理记录边界之间的记录。
答案 1 :(得分:0)
看起来this wiki页面,hadoop InputFormat
将读取FileSplit的最后一行超过分割边界,并且当读取除第一个FileSplit以外的内容时,它会忽略直到第一个换行符的内容。