Hadoop - 文件拆分

问题描述 投票:-1回答:1

我刚刚开始学习hadoop,我对分裂的工作方式有疑问。例如,我有一个像键一样的文件 -

2 1121291290r5405454 1 2192949495959454454 2 121334883484585

所以我的问题是,当分裂将完成时将基于块大小或记录类型。如果它基于块大小,则可能在分割时键值数据可能被分离并放入不同的块中,这将给出不正确的数据。

以我的文件为例 - 如果文件分成2块 -

第1块------- 2 1121291290r5405454 1 21929494959594

第2块-------- 54454 2 121334883484585

因此,这里的键值关系消失了,导致数据不正确。据我所知,当输入文件大小超过块大小时会发生拆分。那么我们如何处理这种情况呢?

hadoop2
1个回答
0
投票

默认情况下,输入spilit的数量取决于块的数量。在您的情况下,如果单个文件有两个块,则将运行两个映射器。在将数据写入块时,hadoop使用一种指示下一个块的位置的指针,因此通过使用该指针,第一个映射器识别出确切的键值对并相应地处理,第二个映射器将通过保留该数据来开始计算。由第一个映射器处理。简单地说,映射任务不仅限于该块,它还可以处理来自其他块的数据。

© www.soinside.com 2019 - 2024. All rights reserved.