我正在寻找替换一堆执行夜间/小时数据汇总和大量数据统计收集的Python ETL脚本。Spring-Batch每小时一次的Hive/MySQL数据处理
我想达成什么是
- 鲁棒性 - 一个失败的作业/步应自动重新启动。在某些情况下,我想执行恢复步骤。
- 框架必须能够从崩溃中恢复。我想这里需要一些持久性。
- 监控 - 我需要能够监控作业/步骤的进度,并且最好查看关于性能的历史和统计数据。
- 可追溯性 - 我必须能够理解执行的状态
- 手动干预 - 很高兴能...能够从API/UI /命令行启动/停止/暂停作业。
- 简单性 - 当我推出更换产品时,我不希望让同事看起来很生气...有一个简单易懂的API是必需的。
当前的脚本执行以下操作:从多台机器
- 收集文本日志,并将其推入Hadoop DFS。我们今后可能会使用Flume进行此步骤(请参阅http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/)。
- 执行Hive对数据进行汇总查询,并插入(覆盖)到新的Hive表/分区。
- 将新汇总数据提取到文件中,然后加载(合并)到MySql表中。这是稍后在线报告需要的数据。
- 对新添加的MySql数据(来自MySql表)执行额外的连接,并更新数据。
我的想法是用spring-batch替换脚本。我也看过Scriptella,但我认为对于这种情况这太“简单”了。
因为我在Spring-Batch上看到了一些不好的感觉(大部分是旧帖子)我希望在这里获得一些输入。我也没有看到太多关于spring-batch和Hive的整合,这很麻烦。
这些剧本出生于罪恶之中。我知道,我写了他们:) – Yossale 2010-09-23 14:29:24
为你的遗留@yossale打个招呼 – 2010-09-23 18:19:55
只要我不是那个必须修复它的人.. :) – Yossale 2010-09-24 14:36:14