mapreduce—hadoop如何在不丢失数据完整性的情况下分割文件?

xxls0lw8  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(322)

我们都知道,如果一个输入文件很大,它会被分成大小相等的几个部分(默认大小为64MB)。假设我有一个104MB大的.txt文件。理论上,这个文件分为两个部分(一个是64 mb大,另一个是40 mb大)。分裂可能发生在单词的中间吗?例如,“hadoop”、“ha”将是第一次拆分的结束,“doop”将是第二次拆分的开始。如果出现这种情况,我们如何正确地执行字数计算问题?

ifmq2ha2

ifmq2ha21#

该逻辑被封装在为Map器配置的inputformat中。inputformat有不同的子类,您可以选择特定于Map器使用的文件类型的子类。例如,textinputformat类在换行符上换行。分割的开始或结束处可能有一个部分行,但逻辑会识别这些情况,并且仍然会将完整的行返回给一个Map器。

相关问题