Scoozie:创建大数据工作流

13-08-02 banq
    

Scoozie: Creating Big Data Workflows at Klout « Klout Engineering Blog

这是一篇描述在Klout如何使用Scoozie进行大数据分析的,大数据中有很多任务,MapReducer任务 分发等等,这些合并使用起来以一种工作流方式连接,如何形成可扩展可维护的机制是一个挑战。

目前一个标准的工作流系统是Apache Hadoop的Oozie,基于XML技术,Scoozie是基于此的提高性解决方案。

大数据工作者经常要编写大量XML,复制粘贴很忙碌,但是这些规范是不是类型安全的呢?是不是容易出现错别字,难以阅读和理解,往往很难测试。我们想使工作流容易编写且易于理解,并能鼓励最佳实践。

上面是一种基于Oozie’s XML schema实现的Scala DSL, (Scala + Oozie = Scoozie).

Oozie XML是可以嵌套的, 如下是两个并行任务的简单管道配置,注意没有使用Scoozie

上面这些参数和配置必须手动复制文,缺少一个参数或轻微的改变一个错字情况可能会导致沮丧的调试。

而如下使用编程方式,就无需担心相互依赖了:

无需担心fork和join:

scoozie开源地址