Hadoop的MR读取外部资源的方案

背景:

Hadoop在执行MR job的时候有时候需要访问一些资源,比如配置,共享数据文件等,那么实现的方案有如下几种:

第一种:基于三方数据源

1.存储在sql或者nosql(包括自身的hdfs)中然后在job的m或者r时根据需要读取相应的资源
2.存储在某网络处,基于tcp方式在需要的时候获取

第二种通过自身机制

1.org.apache.hadoop.conf.Configuration进行传输
1.1 conf.set(name, value) 
1.2 其他conf.set*()
2.DistributedCache,为分布式缓存
DistributedCache.addCacheFile(uri, conf)
DistributedCache.addCacheArchive(uri, conf)

 

数据量适中的情况下建议采用2,一次读多次用

你可能感兴趣的:(hadoop)