hadoop作业提交者在计算拆分时是否考虑了记录边界?

hadoop作业提交者在计算拆分时是否考虑了记录边界?,hadoop,mapreduce,input-split,Hadoop,Mapreduce,Input Split,这个问题不是重复的: 我有一个关于输入分割计算的问题。根据hadoop指南 1输入根据记录边界进行拆分 2同时,它说拆分是由作业提交者计算的。我假设它在客户端运行。[MapReduce作业运行剖析-经典MRv1] 这是否意味着: 作业提交者读取块以计算输入拆分?如果是这样的话,那么它将是非常低效的,并且超过hadoop的目的 或 b作业提交者是否只计算仅基于块大小和位置的估计值的拆分,然后在mapper下运行的InputFormat和RecordReader是否负责跨主机边界获取记录 谢谢 作

这个问题不是重复的:

我有一个关于输入分割计算的问题。根据hadoop指南

1输入根据记录边界进行拆分

2同时,它说拆分是由作业提交者计算的。我假设它在客户端运行。[MapReduce作业运行剖析-经典MRv1]

这是否意味着:

作业提交者读取块以计算输入拆分?如果是这样的话,那么它将是非常低效的,并且超过hadoop的目的

b作业提交者是否只计算仅基于块大小和位置的估计值的拆分,然后在mapper下运行的InputFormat和RecordReader是否负责跨主机边界获取记录

谢谢

作业提交者读取块以计算输入拆分?如果这是 那么,这种情况会不会非常低效,并且违背了我们的初衷呢 hadoop

我不这么认为。作业提交者应该从名称节点读取块的信息,然后只进行计算,这不应该占用太多的计算资源

b作业提交者是否只计算仅为 根据区块大小和位置进行估算,然后是否 在mapper下运行的InputFormat和RecordReader的职责 以跨主机边界获取记录

我不确定提交人的计算有多准确,但分割大小是根据配置的最小和最大分割大小以及使用此公式的块大小来计算的

maxminimumSplitSize、minmaximumSplitSize、blockSize

所有这些值都可以由用户设置。例如,最小拆分大小可以是1,最大值可以是最大长值9223372036854775807


正确-InputFormat中的记录是一个逻辑概念。这意味着当开发人员开发Map Reduce代码时,我们不需要考虑记录被分成2个不同的分割的情况。记录阅读器负责通过远程读取读取丢失的信息。这可能会导致一些开销,但通常是很小的。

这不是另一个问题的重复,而是一个补充。这个问题的答案只是澄清了作业提交者在拆分计算期间不会读取记录边界。