Hadoop平台学习过程的一些总结

1.MapR有三种版本,M3(免费版)、M5(含有支持的版本,并启用了所有HA特性)和M7(最近和重写的HBase一起发布),MapR采取了一种与其他供应商不同的方法,它肯定会有属于自己的追随者。

2.hadoop 执行 mapreduce的有几种方式
一、原生态的方式:java 源码编译打包成jar包后,由 hadoop 脚本调度执行
二、基于 MR 的数据流 Like SQL 脚本开发语言:pig
三、构建数据仓库的类 SQL 开发语言:hive
四、跨平台的脚本语言:python

3.hadoop的调优
在job中中间的结果使用压缩,输出数据量大的话也要采用压缩,因为备份有副本所以压缩可以加快磁盘的IO,对机器多的效果应该更明显,可以大幅度提高job的效率。
尽量减少task的数量,减少每个task耗费的时间。当一个job数据大于1TB 要增加 块的大小 (256 512 大概)。//hadoop distcp -Ddfs.block.size=$[256*1024*1024] /path/to/inputdata
利用Combiner减少磁盘和网络传输到reduce的数据量
使用自己的Writable类尽量重用,不是多次的创建

任务调度的时候会尽量将任务分配给输入数据块InputSplit所在的机器,减少IO网络的消耗。
提交MapReduce任务之前,可以先对数据进行一次预处理将小数据合并成适当的大数据。如果Map的任务时间很短可以考虑调节Block块的大小来调整Map的运行时间。
控制MapReduce任务的数量,调节Map/Reduce的任务槽。Map可以根据时间来调节,reduce调整reduce和任务槽的比例。
利用Combine函数调整Map函数产生的很多重复的中间数据,利用本地的合并,在传递给Reduce,可以减少数据的网络传输
可以对Map的输出和最终结果进行压缩
自定义comparator,可以实现一些算法如K-means。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值