Hadoop - 要阻止映射的文件

时间:2012-12-07 00:43:26

标签: hadoop

当JobTracker将地图任务分配给TaskTracker时,是否需要与NameNode通信?或者它可以从InputSplit本身获取信息? 当我查看代码时,我发现InputSplits包含了BlockLocations。 JobTracker会使用此信息还是需要使用Namenode?

2 个答案:

答案 0 :(得分:0)

JobTracker确实联系NameNode以获取块位置。如果作业处理的块数非常大,则此过程可能需要一段时间。

答案 1 :(得分:0)

客户端计算拆分信息,并将拆分信息写入HDFS。

您可以查看Hadoop 1.x JobSplit.SplitMetaInfo实现的序列化也可以序列化这些位置。

jobtracker只是选择这些序列并安排它们,其中位置只是一个提示,如果插槽可用,可以更快地执行。