您现在的位置 >> Hadoop教程 >> Hadoop实战 >> 专题  
 

MapReduce中设置全局变量

【作者:Hadoop实战专家】【关键词:可以 数据 设置 】 【点击:39529次】【2013-01-1】
2.如何通过Configuration来设置全局变来那个?当然我们可以把这个任务编号放到输入文件中的每一行中,作为输入数据的一部分,不过这样做显然太不专业,无端的增加了要处理的数据量,加重网络负担。 Job job = new Job(conf, "load analysis");  

相关热门搜索:

大数据标签:mapreduce hbase bigdata

问题导读:
1.MapReduce的应用场景是什么?
2.如何通过Configuration来设置全局变来那个?
3.如何获取设置的全局参数?

实际项目中遇到这样一个场景,需要运行一个MapReduce统计一些数据中的最大最小平均值等特性,将结果存入到HBase中。存结果的同时还要记录这次分析任务的编号,即所有的Reduce产生的结果中都要包含这个任务编号这个字段。当然我们可以把这个任务编号放到输入文件中的每一行中,作为输入数据的一部分,不过这样做显然太不专业,无端的增加了要处理的数据量,加重网络负担。经过网上搜索,发现可以用Configuration来实现。具体过程:

提交job的函数中

1. Configuration conf = new Configuration();

2.

3.

4. conf.setStrings("job_parms", "aaabbc"); //关键就是这一句

5.         Job job = new Job(conf, "load analysis");

6.         job.setJarByClass(LoadAnalysis.class);

7.         job.setMapperClass(LoadMapper.class);

8.         job.setReducerClass(LoadIntoHbaseReduce.class);

9.         job.setMapOutputKeyClass(Text.class);

10.         job.setMapOutputValueClass(Text.class);

11.

12.         FileInputFormat.addInputPath(job, new Path(otherArgs[0]));

复制代码
Mapper类中重写setup函数

1.   @Override

2.         protected void setup(Context context)

3.                 throws IOException, InterruptedException {

4.             try {

5.

6.                 //从全局配置获取配置参数

7.                 Configuration conf = context.getConfiguration();

8.                 String parmStr = conf.get("job_parms"); //这样就拿到了

9.

10.                ......

11.

12.             } catch (SQLException e) {

13.

14.                 e.printStackTrace();

15.             }

16.

17.         }

复制代码

当然 Reduce类中也可以同样操作

大数据系列相关文章:

最新评论
启航2014-09-10 02:45:26
dfs.data.dir指向那个目录 试一下
寻觅2014-09-10 11:35:50
[图片]
临岸听涛2014-09-10 09:18:15
会议。。。论文。。。JVMTI。。。HADOOP。。。英语讲演。。。五子棋赛。。。各种高端算法。。。死了算了。。。
塞北狂侠2014-09-10 06:15:58
一周热点:高薪必备:Hadoop求职者的6大攻略-CSDN.NET http://t.cn/8FFDZ9R
等待有缘人2014-09-09 04:03:05
但是最大不要超过机器数*每台机器的REDUCE最大个数
紫涵2014-09-09 04:34:47
第一个用9000么
人民邮电出版社-信息技术分社2014-09-09 03:53:19
do ssh slave$i ''date -s 00:00:00";
Sue2014-09-08 10:24:02
《阿里巴巴一淘搜索技术部招聘分布式开发人员》我们是阿里巴巴一淘搜索技术部 离线计算后台组.我们负责阿里所有的商品搜索引擎的数据产出; 包括一天一次的全量数据,和秒级别的实时更新; 我们在开源的计算框架hadoop\yarn 和nosql上构建我们的离线计算\存储平...畅读版【http://t.cn/8FyHbHn】
阿长2014-09-07 10:08:57
java序列化与反序列化以及浅谈一下hadoop的序列化 - 大风的专栏 - 博客频道 - CSDN.NET RPQRbHR
......2014-09-06 12:44:45
解决hadoop的权限问题 | 在eclipse下编写MapReduce程序一定会遇到权限问题,包括hdfs的权限问题,以及本地文件上传到hdfs中的权限问题,解决办法如下: 1、在hdfs-site.xml 中添加如下配置: dfs.permissions fa http://t.cn/RvZUoxT
 
  • Hadoop生态系统资料推荐