>gurus!
很长一段时间我都找不到以下问题的答案:在编写过程中如何 hadoop 拆分大文件。例:1) 块大小 64 Mb2)文件大小128 Mb(平面文件,包含文本)。
当我编写文件时,它将分为 2 部分(文件大小/块大小)。但。。。可能发生以下情况区块 1 将在...字300 字301 沃和区块 2 将启动RD302 字303...写大小写将是
区块 1 将在...字300 字301和区块 2 将启动字302** 字303...
或者你能链接到写Hadoop分裂算法的地方。
提前谢谢你!
查看此 wiki 页面,Hadoop InputFormat
将读取 FileSplit 的最后一行,超过拆分边界,当读取第一个 FileSplit 以外的内容时,它会忽略第一个换行符之前的内容。
文件将根据字节任意拆分。所以它可能会把它分成类似的东西 wo
和 rd302
.
这不是您通常必须担心的问题,而是系统的设计方式。MapReduce作业的InputFormat
和RecordReader
部分处理在记录边界之间拆分的记录。