这个问题不是重复的: Hadoop 进程记录如何跨块边界拆分?
我有一个关于输入拆分计算的问题。根据 hadoop 指南
1) InputSplits 尊重记录边界
2)同时它说拆分是由Job Submitter计算的。我假设它在客户端运行。[MapReduce 作业运行剖析 - 经典 MRv1]
这是否意味着:
(a) 作业提交者读取块来计算输入拆分?如果是这种情况,那么它不会是非常低效的,并且不会达到 hadoop 的目的。
或者
(b) 作业提交者是否仅根据块大小和位置计算拆分,这仅仅是基于块大小和位置的估计,然后它是否成为 InputFormat 和 RecordReader 在映射器下运行以获取跨越主机边界的记录的责任。
谢谢