第6章 MapReduce应用开发

开发流程:

  • 首先写map函数和reduce函数,最好使用单元测试来确保函数的运行符合预期。
  • 然后写一个驱动程序来运行作业,看这个驱动程序是否可以正确运行,可以先从本地IDE中用一个小的数据集来运行它。
  • 调试,改进
  • 部署到集群测试
  • 测试,改进
  • 正常运行之后,优化

用于配置的API

  • Configuration org.apache.hadoop.conf

配置开发环境

  • 不同环境使用不同的配置文件,跟web开发类同
  • HADOOP_USER_NAME 设置hadoop 用户名
  • HADOOP_CONF_DIR 配置信息环境变量
  • 辅助类 Configured Tool ToolRunner
  • 用MRUnit 来写单元测试

本地运行测试数据

  • 在本地作业运行器上运行作业
  • 测试驱动程序
    • 使用本地作业运行器
    • 使用一个mini集群来运行它

在集群上运行

  • 打包作业
    • 分布式环境打包成JAR 文件
  • 启动作业
  • 作业调试
    • 通过打印语句
    • 计数器 可以衡量问题的严重程度
    • 日志
    • 远程调试

作业调优

  • mapper 的数量
  • reducer 的数量
  • combiner
  • 中间值的压缩
  • 自定义序列
  • 调整 shuffle

MapReduce 的工作流

  • 通常是增加更多的作业,而不是增加作业的复杂度
  • 对于更复杂的问题,可考虑使用Pig, hive, Cascading, Crunch 或Spark
  • JobControl
  • Apache Oozie 是一个运行工作流的系统,该工作流由相互依赖的作业组成

转载于:https://my.oschina.net/mrq/blog/3101784

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值