在群集模式下使用DistributedCached

时间:2016-04-27 06:33:18

标签: hadoop

我有一个对象:

class Cache {
    Map<K,V> map;
}

我使用DistributedCache指定一个包含此对象的URI,然后在每个map任务的setup()函数中,我加载了这个Cache对象进行处理。特别是,使用Cache对象在每个map任务中存储一些值。 / p>

我的问题是,当我们在群集模式下运行hadoop时,每个datanode中的地图内容将彼此不同。这样对吗?因为当我在本地模式下开发时,地图的内容包含整个数据集的结果。

1 个答案:

答案 0 :(得分:0)

保存在DN上的数据格式相同,映射器将处理相同格式的文件。在驱动程序代码中,您必须定义输入和格式类型。在这种情况下,上下文将是相同的。如果地图任务将在任意数量的DN上运行,则地图上下文将是相同的。

现在,在分布式缓存中,您将使用DistributedCache API添加文件。在setup方法中,您将检查要在Path对象数组中处理的文件。