分布式缓存DistributedCache

时间:2015-08-21 19:15:38   收藏:0   阅读:220

本文是对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中,来提高连接效率。

 

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

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!