1.Kettle简介
Kettle是一个颇受认可的开源ETL(Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程)工具,2006年被Pentaho收购,2015年又被Hitachi Vantara收购,正式命名为PDI。 PDI EE(企业商用版)改进了PDI CE(开源社区版)在作业调度监控、系统安全机制、高可用性架构、对接SAP、对接Hadoop、对接AI/ML、 自助式DI/BI等方面之不足,尤其是凭借着原厂兜底的专业技术支持服务保障,获得企业客户广泛青睐。
Kettle使用纯Java编写,可以在Window、Linux、Unix上运行,无需安装。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许用户管理来自不同存储方式的数据,通过提供一个图形化的管理工具来设计转换过程。Kettle中有两种脚本文件,transformation(转换)和job(作业),transformation完成针对数据的基础转换,job则完成整个工作流的控制。
源码地址:GitHub - pentaho/pentaho-kettle: Pentaho Data Integration ( ETL ) a.k.a Kettle
官方下载地址: https://www.hitachivantara.com/en-us/products/pentaho-platform/data-integration-analytics/pentaho-community-edition.html
2.Kettle的核心组件
2.1.主要工具介绍
- Spoon:启动GUI的编辑工具,用来设计转换和作业。
- Pan:命令行工具,用于执行转换。
- Kitchen:用于执行作业的命令行工具。Pan的参数与Kitchen基本一致。
- Carte:启用一个轻量级的Web容器,用于建立专用、远程的ETL Server。
2.2.概念模型
Kettle 的执行分为两个层次:Job(作业,.kjb 后缀)和 Transformation(转换,.ktr 后缀)。转换是执行任务的最小单位,包括各种数据结构及存储方式的转换,可以通过Pan命令单独执行。若一个转换中包含多个数据转换,则并发执行这些数据转换,所以转换是数据流,关注数据来源和转换结果及目的地。作业完成转换之外的其他工作,可以集成多个转换和作业,一般以Start节点开始,以Success结束。作业专注的是操作流程,是按指定顺序支持的。
3.部署
待续...
参考:
Kettle教程一:Kettle简介和Kettle的部署安装-腾讯云开发者社区-腾讯云
kettle入门实战 - 知乎
大数据 ETL 处理工具 Kettle 入门实践 - 知乎
Use Command Line Tools to Run Transformations and Jobs - Hitachi Vantara Lumada and Pentaho Documentation