码迷,mamicode.com
首页 > 系统相关 > 详细

分布式缓存DistributedCache

时间:2015-08-21 19:15:50      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

本文是对MR案例:Map-Join的解读。

在hadoop中,使用全局变量或全局文件共享的几种方法

  1. 使用Configuration的set()方法,只适合数据内容比较小的场景
  2. 将共享文件放在HDFS上,每次都去读取,效率比较低
  3. 将共享文件放在DistributedCache里,在setup()初始化一次后,即可多次使用,缺点是不支持修改操作,仅能读取 

使用 DistributedCache 来共享一些全局配置文件或变量时,需要注意:

  1. 共享文件必须要上传到hdfs上。【共享文件的默认访问协议为(hdfs://)
  2. 通过 job.addCacheFile(new Path(args[0]).toUri()); 方法加载共享文件。
  3. 在Mapper类的setup()初始化方法中读取并处理共享文件。【setup()方法整个Job执行过程中只执行一次】
  4. 在map()和reduce()方法中,可以使用处理后的共享文件

DistributedCache作用:①共享全局的缓存文件。②在执行一些join操作时,将小表放入cache中,来提高连接效率。

 

分布式缓存DistributedCache

标签:

原文地址:http://www.cnblogs.com/skyl/p/4748701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!