mapreduce应用开发

一:用于配置的api

hadoop中的组件是通过hadoop自己的配置api来配置的。一个Configurate类的实例代表配置属性及其取值的一个集合。Configurate从资源配置文件中对取属性值。

如果有个多个资源文件来定义一个配置,后来添加资源文件会覆盖之前定义的属性。

管理配置文件,由于在开发hadoop应用时,经常需要在本地运行和集群运行之间进行切换。使hadoop配置文件包含每个集群的连接设置,并且在运行hadoop应用或工具时指定使用哪一个连接设置,最好把这些文件放在hadoop安装目录树之外,以便于轻松在hadoop不同版本之间切换。

 

 

二:mapreduce的作业调优

1:mapper的数量:mapper需要运行多长时间,如果平均只运行几秒钟,则可以看是否能用更少mapper运行更长的时间,通常是一分钟左右。时间长度取决于使用的输入格式。

2:reducer的数量:为了达到最高性能,集群中reducer数应该略小于reducer的任务槽数。这将使reducer能够在同一个周期完成任务,并在reducer阶段充分使用集群

3:combiner:作业能否充分利用combiner来减少通过shuffle传输的数据量。

4:中间值的压缩:对map输出进行压缩几乎总能使作业执行得更快

5:自定义序列:如果使用自定义的writable对象或自定义的comparator,则必须确保已实现RawComparator

6:调整shuffle:mapreduce的shuffle过程可以对一些内存管理的参数进行调整,以弥补性能的不足。

 

三:mapreduce的工作流

1:将问题分解成mapreduce作业,mapper和reducer完全可以进一步分解。

2:jobControl:多个job时,由jobControl控制先后顺序。

3:Ooize作为服务器运行,客户端提交一个立即或稍后执行的工作流定义到服务器,在Ooize中,工作流是一个有动作节点和控制流节点组成的有向无环图

动作节点执行工作流任务,在hdfs中移动文件,运行mapreduce,pig,hive和sqoop导入等

控制流节点,控制工作流的执行情况

工作流结束后,Ooize通过发送一个http的回调向客户端通知工作流的状态。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值