我正在考虑使用hadoop / mapreduce来处理项目,并且还没有完全弄清楚如何设置一个由应该按顺序处理的可变数量级别组成的作业流程。
E.g:
Job 1: Map source data into X levels.
Job 2: MapReduce Level1 -> appends to Level2
Job 3: MapReduce Level2 -> appends to LevelN
Job N: MapReduce LevelN -> appends to LevelN+1
等到最后一级。关键是每个级别必须包含自己的特定源数据以及上一级别的结果。
我看过猪,蜂巢,哈马克和级联,但还没有看到明确支持这样的事情。
有谁知道实现这一目标的有效方法?现在我倾向于为hamake编写一个包装器,它将根据参数生成hamake文件(级别数在运行时已知,但每次运行时都会改变)。
谢谢!
答案 0 :(得分:1)
Oozie http://yahoo.github.com/oozie/是雅虎发布的一款开源服务器,用于管理Hadoop&像你这样的猪工作流程
Cloudera在他们最新的发行版中有非常好的文档https://wiki.cloudera.com/display/DOC/Oozie+Installation
答案 1 :(得分:0)
你应该能够使用Piglet,Ruby Pig DSL轻松生成这个猪代码: http://github.com/iconara/piglet