我已经浏览了一些hadoop相关的书籍和论文。
Slot是节点上的map/reduce计算单元。它可以是map或reduce slot。就目前而言,我知道拆分是HDFS中的一组文件块,它们具有一定的长度和存储节点的位置。Mapper是一个类,但是当代码被实例化时,它被称为map task。我说的对吗?我不清楚地图任务、数据分割和Mapper之间的区别和关系。
关于调度,我理解当一个节点的映射槽空闲时,从非运行的映射任务中选择一个映射任务,如果该映射任务要处理的数据是该节点,则启动该映射任务。有没有人可以用上面的概念来解释清楚:槽,映射器,映射任务等?
谢谢,阿伦
到目前为止,我知道split是HDFS中的一组文件块,它们具有相同的长度和存储节点的位置。
InputSplit是一个特定映射器将处理的数据单元。它不需要只是一组HDFS块。它可以是单行、数据库中的100行、50MB文件等。
我不清楚map任务、数据分割和Mapper之间的区别和关系。
InputSplit由一个map任务处理,Mapper的一个实例就是一个map任务
据我所知:
在HDFS中第一个数据分割到data节点
然后,当有新的作业时,作业跟踪器将该作业划分为Map并减少任务然后,Job tracker将每个map任务分配到已经有与此map任务相关的数据分割的节点上,因此数据在节点上是本地的,并且不会产生移动数据的成本,因此执行时间尽可能少
但有时我们不得不给没有数据的节点分配任务,所以节点必须通过网络获取数据,然后进行处理
输入分割不是数据,它是对特定数据量的引用,映射减少过程。通常它与块大小相同,因为如果两者的大小不相同,并且有些数据在不同的节点上,那么我们需要传输该数据
MAPPER: MAPPER是一个类。MAPPER阶段:MAPPER阶段是一个输入、输出代码,用于转换键和值对中的值(键、值)。MAPPER SLOT:执行MAPPER和reducer代码