我将输入拆分大小从128MB增加到256MB。作业的执行时间减少了一分钟。
但是我无法理解这种行为。为什么会这样呢?在什么情况下,我们可以调整输入拆分大小?
最佳答案
是一致的还是一次阅读?这是在本地hadoop安装中还是在集群中?
我建议在输入分割大小为128MB且运行次数为256MB时记录映射器的数量。这可能暗示为什么执行时间减少了一分钟。
输入拆分的数量对应于处理输入所需的映射器的数量。如果此数字大于群集上可用的映射插槽,则作业必须等待一组映射器运行,然后才能处理其余映射器。但是,如果输入分割数较少(例如您的情况下为256MB),则要运行的映射任务数将比以前的情况少。如果此数目小于或等于群集上的映射槽数,则所有映射任务有可能同时运行,这可能会缩短您的作业执行时间。