ETL工具比较及选型策略

 

 

 

Kettle(PDI)

HaoheDI

学习成本

熟练掌握至少需要1个月时间,开发人员通常需要1、2个Kettle的项目经验。

熟练掌握1天时间,开发人员只需要掌握数据库的SQL开发即可,无需ETL工具经验。

调度计划

生产环境主要是通过操作系统自身的调度机制调度命令行的方式实现,linux下需要写shell,不方便

系统自带调度计划设置,通过浏览器即可设定,操作简单

日志监控

生成环境下很难通过界面来观察作业的执行情况,一般是将日志输出到日志文件或数据库中进行查询,通常需要再开发一个日志访问程序

系统提供清晰的日志监控功能,通过浏览器实时观察作业执行情况,以及提供历史日志分析功能

作业手工重跑

缺少批量重跑功能,需要一个一个执行

支持多批次批量重跑

创建任务及作业

需要手工逐个进行创建,工作量较大

可以批量生成任务,以及将任务批量导入作业。

数据质量探查

没有

后续版本即将加入

ETL方法论

主要靠开发人员自身的丰富经验

内置实施方法,帮助无经验的人员快速实施

转换任务

主要靠大量功能组件完成,组件功能丰富,掌握有一定难度,性能较低,调优困难,容易形成蜘蛛网状的任务流,后续不便维护。

倡导简便的ELT模式,先加载,再转换,充分利用数据库自身的SQL、存储过程完成,调优差错比较容易,性能取决于开发人员的SQL水平。

作业流程

复杂的作业流程控制

同样提供复杂的工作流模式,可应对大多数场景

生成环境迁移

C/S模式,开发环境和生成环境需独立部署,开发人员直接操作生成环境不方便,需要在开发环境做好的任务和作业,在迁移发布到生成环境运行,之间衔接不方便。

B/S模式,只要通过浏览器就可以访问生产环境,可直接调整修改生成环境的任务和作业,也可以将开发环境的对象导出后再倒入生产环境。

posted @ 2017-06-27 14:35  柳青南  阅读(764)  评论(0编辑  收藏  举报