永发信息网

如何在MapReduce的各任务之间共享数据

答案:2  悬赏:50  手机版
解决时间 2021-04-09 02:57
如何在MapReduce的各任务之间共享数据
最佳答案
6.1.1. 使用Configuration
Configuration类是框架提供的用于读取系统提供的配置文件内容,如core-default.xml等,也可以读取自定义的配置文件。
可以在驱动代码中,调用Configuration对象的set(...)方法赋值,如图6-15所示。

图6-16
这种数据处理方式适合传递简单的键值对,不适合传递很多数据,也不适合传递数据文件。
6.1.2. 使用分布式缓存
DistributedCache是框架提供的一个分布式缓存工具,它通过访问hdfs,可以使得一个job中的所有map或者reduce访问同一份文件。当在作业运行前,首先DistributedCache会先把文件复制到任务所在节点的磁盘上,然后节点上的任务就可以加载该文件了。
在使用时,首先在驱动代码中调用addCacheFile(...)方法,如图6-17所示。

图6-18
可以看到,使用DistributedCache还是非常简单的。如果不使用它,我们只能把共享的文件手工放到所有的TaskTracker的指定linux文件中,当集群非常庞大时,工作量还是很大的,使用DistributedCache后就不需要我们自己管了。
要注意的一点是,如果缓存的文件是jar,那么在使用其包含的类时应该使用反射机制,因为jar所在的路径不在框架的类路径下,无法正常加载,如图6-19所示。

图6-19
全部回答
摘要:mapreduce是hadoop的又一核心模块,从mapreduce是什么,mapreduce能做什么以及mapreduce的工作机制三方面认识mapreduce。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蜀道难难于上青天后一句是什么?
有线广播电视到期,没交费也没信号,所以我想
2下面这段文字中两处画线句有语病,请逐一进
重庆合川中学南一门怎么去啊,有知道地址的么
被出生两个月小羊咬破手指出了点血,有什么事
雷锋的资料(短一点的),急用~~~~~~~~~
八字: 庚午 戊子 癸酉 乙卯
一元硬币的外观有银白色的光泽,一些同学认为
晦涩的反义词,会生晦涩的意思
门上贴的对联'春节用的二年级小学
下载宁城彩票十一选五开奖信息
朋友喜欢王源今天他生日怎么写祝福
普希金的诗给我
羊肉板面地址在什么地方,想过去办事
选出下列字形有误的一项:A.阜盛 船舷 轶事
推荐资讯
二年级下册的优美句子,小学二年级下册优美句
雅阁9代油表上的那个杆子是什么用
马群321人才大厦B幢在什么地方啊,我要过去处
笔记本电脑cpu温度过高会怎样
武汉市土地整理储备中心交通建设分中心怎么去
和父母有关的俗语有哪些 5分
有风险高收入的工作!求介绍!急用钱!
宿州到天长的客车几点呀
是个女的唱的有一首英文歌的mv是男的打女的,
河南省上蔡县乱补课举报电话是多少
买的英文单词怎么写
生日同一天的人是不是特别容易被吸引?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?