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

MapReduce中设置全局变量

【作者:Hadoop实战专家】【关键词:可以 数据 设置 】 【点击:59283次】【2013-10-0】
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 08:36:08
【Hadoop Streaming编程实例】 http://t.cn/8sJDJ5S Hadoop Streaming是Hadoop提供的多语言编程工具,通过该工具,用户可采用任何语言编写MapReduce程序,本文将介绍几个Hadoop Streaming编程实例,大家可重点从以下几个方面学习: (1)对于一种编写语言,应该怎么编写Mapper和Reduce,需遵循什么...
cicy2014-09-09 08:17:11
我的头发太多了
2014-09-08 10:06:22
说自己聪明的往往比较笨
shinelau2014-09-08 02:44:22
【英特尔放弃发行Hadoop版本,转而支持Cloudera】英特尔作出了一个震惊整个大数据市场的决定——停止发行英特尔自己的Hadoop版本,转而支持Hadoop发行商Cloudera。 http://t.cn/8sV8Y7m
欣欣2014-09-07 12:17:35
会议形式:免费、参与抽奖、下午茶
Mr.张2014-09-07 02:05:28
Hi,好东西一起分享,给大家分享“炼数成金hadoop视频”文件夹,快来看看吧
泛泪的眼睛2014-09-06 04:02:19
高手
外星来客2014-09-06 03:09:15
你买个内存条不就好了
小叶2014-09-06 02:56:19
Yarn(MapReduce 2.0)下分布式缓存(DistributedCache)的注意事项: 1、问题 最近公司的集群从 Apache hadoop 0.20.203 升级到了 CDH 4,迈进了 Hadoop 2.0 的新时代,虽然新一代的 hadoop 努力做了架构、API 上的各种兼容, 但意外总会发... http://t.cn/8FswkNU
ali无影2014-09-05 09:29:04
【大数据项目将帮助企业打破数据孤岛】源Apache Hadoop以及NoSQL数据库技术的创新使得IT系统的蔓延不断加速,对于已经在努力打破多个数据孤岛的管理者来说,大数据时代又为他们带来了新的挑战。对于这一问题,来自Think Big Analytics公司的联合创始人Ron Bodkin谈了他的看法:http://t.cn/8sORLsm
 
  • Hadoop生态系统资料推荐