block和split的理解
两者是从不同的角度来定义的:HDFS以固定大小的block为基本单位存储数据(分布式文件系统,实际存储角度,物理存储单位),而MapReduce以split作为处理单位(编程模型角度,逻辑单位)。
对于文件中的一行记录,可能会划分到不同的block中,也可能划分到不同的split中。
split是逻辑上的概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据所在节点等,它的划分方法完全由用户自己决定。split的多少决定Map Task的数目,因为每个split交给一个Map Task处理。
大小关系:>,=,<均有可能。