MapReduce的工作流

如何将数据处理问题转化为MapReduce模型

数据处理问题更复杂,通常是因为有更多的MapReduce作业,而不是更复杂的map函数和reduce函数,换而言之,通常是增加更多的作业,而不是增加作业的复杂度。对于更复杂的问题,可考虑比MapReduce更高级的语言,例如Pig、hive、Spark等,有了他们之后,就不用处理到MapReduce作业的转换,而是集中精力分析正在执行的任务。

一个作业可以包含多个(简单的)MapReduce步骤,这样整个作业由多个可分解可维护的mapper和reducer组成。具体看书的第四部分,即介绍一些在Hadoop上构建的项目部分。

mapper和reducer可以进一步分解,mapper 一般执行输入格式解析、投影(选择相关的字段)和过滤(去掉无关记录),还可以将这些功能分割到不同的mapper中,然后使用Hadoop自带的ChainMapper类库将它们连接成一个mapper,结合使用ChainReducer,可以在一个MapReduce作业中运行一系列的mapper,再运行一个reducer和另一个mapper链。

关于JobControl

当MapReduce工作流的作业不止一个时,如何管理这些作业按顺序执行,主要考虑是否有一个线性的作业链或一个更复杂的作业有向无环图(DAG)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值