Hadoop中的FileSplit之类的拆分会不会改变块?

Does the splits like FileSplit in Hadoop change the blocks?

第一个问题:我想知道分裂是否以任何方式改变方块(即改变大小,将方块移动到另一个位置,创建新方块,... ).

第二个问题:我认为拆分不会改变块,但它指定了每个 MapTask 应该存在的位置以及 运行 在集群上的数据局部性或机架意识,因为 DataNodes 已经 运行ning 并且有块,所以我认为拆分会告诉 Hadoop 运行 包含数据的节点旁边的 MapTask。注意:在 InputSplit 中有一个 Location/Host 我认为是为了这个目的。 如有错误请指正

第三个问题:最初在实际执行任务之前,将块移动到MapTask所在的位置还是MapTask将移动到块所在的位置(即DataNode的位置) )?

第一个和第二个问题:

块不会随着拆分而改变。为了准备 Input Split,DataNode 块中的一些数据可能会被复制到其他 DataNode,在其上执行 Map 任务(如果数据在多个数据块之间重叠)

Third Questions: Initially before actually executing the task, will the blocks move to where the MapTask is or the MapTask will move to where the blocks are (i.e. Location of the DataNode)?

如果一个MapTask正在从DataNode A / Block-A获取数据并且DataNode A/Block-A中的部分数据跨越到DataNode B/Block-B,那么来自Block-B的数据将被复制到Mapper (DataNode-A).

请参阅以下问题以更好地理解输入拆分和数据块:

How does Hadoop perform input splits?