Hadoop 权威指南学习笔记(四)

                           MapReduce 应用开发

MapReduce 来编写程序,有一个特定的流程。首先写 map 函数和 reduce 函数,最好使用单元测试来确保函数的运行符合预期。然后,写一个驱动程序来运行作业,要看这个驱动程序是否可以运行,可以从本地 IDE 用一个小的数据集来运行它。如果驱动程序不能正确运行,就用本地 IDE 调试器来找出问题根源。通过这 些调试信息,可以加大单元测试使其覆盖这一测试用例,从而改进 mapper,reducer ,尽可能正确地处理这些输入。
 

5.1 用于配置的API

Hadoop 中,组件的配置是通过 Hadoop 提供的 API 进行的。 Configur ation 类的实例(可以在 org.apache. hadoop. conf包中找到)代表配置属性及其取值的一个集合。
get ()方怯允许为 XML 文件中没有定义的属性指定默认值。 当多个据文件被用来定义一个配置时,后来添加到惊文件的属性会覆盖 (override) 之前定义的属性。然而,被标记为 final 的属性不能被后面的定义覆盖。 配置属性可以用其他属性或系统属性进行定义,系统属性的优先级高于源文件中定义的属性,配置属性可以通过系统属性来定义,前提是系统属性使用配置属性重新定义,否则,它们无挂通过配置 API 进行访问。
为了简化命令行方式运行作业, Hadoop 自带了一些辅助类。 GenericOptionsParser 一个类,用来解释常用的 Hadoop 命令行选项.

5.2 作业调优

5.2 MapReduce 工作流

        如果处理过程更复杂,这种复杂度一般是因为有更多的 MapReduce 作业,而不是更复杂的 map reduce 函数。换而言之,通常是增加更多的作业,而不是增加作业的复杂度。 对于更复杂的问题,可考虑使用比 MapReduce 更高级的语言,如 Pig hive
Cascading 一个直接的好处是:有了它之后,就用不着处理到 MapReduce 作业的转换,而是集中精力分析正在执行的任务。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值