Hadoop DistributedCache 已弃用 - 首选 API 是什么?

2023-12-29

我的地图任务需要一些配置数据,我想通过分布式缓存分发这些数据。

HadoopMapReduce 教程 https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html#DistributedCache显示了usage https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html#Example%3a+WordCount+v2.0DistributedCache类的内容,大致如下:

// In the driver
JobConf conf = new JobConf(getConf(), WordCount.class);
...
DistributedCache.addCacheFile(new Path(filename).toUri(), conf); 

// In the mapper
Path[] myCacheFiles = DistributedCache.getLocalCacheFiles(job);
...

然而,DistributedCache is 标记为已弃用 http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/filecache/DistributedCache.html在 Hadoop 2.2.0 中。

实现这一目标的新首选方法是什么?是否有涵盖此 API 的最新示例或教程?


分布式缓存的 API 可以在 Job 类本身中找到。检查此处的文档:http://hadoop.apache.org/docs/stable2/api/org/apache/hadoop/mapreduce/Job.html http://hadoop.apache.org/docs/stable2/api/org/apache/hadoop/mapreduce/Job.html代码应该是这样的

Job job = new Job();
...
job.addCacheFile(new Path(filename).toUri());

在您的映射器代码中:

Path[] localPaths = context.getLocalCacheFiles();
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop DistributedCache 已弃用 - 首选 API 是什么? 的相关文章

随机推荐