Skip to content

开源可视化ETL工具——Kettle

前面为大家介绍了SeaTunnel,它可以方便我们快速实现多源数据的集成,还不了解的同学可以关注我后查看文章。

本文则为同学们推荐另外一款开源ETL工具——Kettle。

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。简单说就是我的数据在哪里?我要把我的数据变成什么样?最后再把数据存放到哪里?

Kettle是什么?

Kettle是一款开源的ETL工具,实现数据高效稳定抽取。

相比其它ETL工具依赖纯代码实现,Kettle有一个非常独特的优势是拥有GUI界面,它允许你管理来自不同数据库的数据,通过提供一个图形化的界面来描述你想做什么,而不是你想怎么做。使用Kettle简单到开发者可以像使用任何桌面应用一样使用它,且为纯Java编写,绿色无需安装。

Kettle

Kettle还有一个很有趣的中文名“水壶”,该项目的主要贡献者MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。说实话,这个解释真的是太形象了。

需要注意的是,Kettle现在已经更名为PDI(Pentaho Data Integration),本文中我们依旧称为Kettle。

Kettle主要功能

  • 无代码拖拽式构建数据管道

采用拖拽组件、连线、配置的方式来构建数据管道,透过几百个不同的组件,用户可以在不编写一句代码就能轻松完成对数据源读取,对数据进行关联、过滤、格式转换、计算、统计、建模、挖掘、输出到不同的数据目标,极大程度地降低开发技术门槛和有效减低开发和维护成本。

  • 多种数据源支持

关系型数据库支持类型包括:DB2,Greenplum, Hive, MS SQL Server, MySQL, Oracle, PostgreSQL等。大数据源支持包括:Avro, Cassanddra, HBase, HDFS, MongoDB等。文件格式支持包括:CSV, TXT, JSON, Excel, XML等。流数据支持包括:AMQP, Kafka, MQTT, 其他数据源对接包括:S3, SAS, Salesforce, REST等。

  • 数据管道可视化

支持用户在数据管道任何一个步骤对当前数据进行查看(Examine),并可以在线以表格和图表(例如:柱状图、饼图等)输出步骤的数据,甚至可以支持不落地直接把任何一个步骤的数据以JDBC的方式提供给第三方应用访问。

  • 模板化开发数据管道

提供了一个叫MDI的功能,MDI全称是Metadata Injection元数据注入,用户可以透过MDI把数据转换模板化,然后把像数据表名、文件路径、分隔符、字符集等等这些变量放在一个表或者文件里,然后利用MDI把这些变量注入数据转换模板,PDI即可自动生成所需要的数据转换。

  • 可视化计划任务

提供可视化方式配置任务计划(Schedule),用户可透过Spoon或网页端的Pentaho User Console(商业版)来配置和维护任务具体的执行时间、间隔、所使用的参数值、以及具体运行的服务器节点。用户亦可以透过Spoon或Pentaho User Console(商业版)查看任务计划列表。当然,用户也可以透过Spoon或Pentaho User Console(商业版)对任务执行情况进行实时监控。

  • 大数据处理

使用转换步骤连接到各种大数据数据源,包括 Hadoop、NoSQL 和分析数据库(如 MongoDB)。

为什么使用Kettle

要不要使用Kettle需要根据要解决的问题来判断。对于初学者想要快速了解ETL的过程,使用Kettle则是一个很不错的选择。在实际应用中,我们则会首选SeaTunnel这样的纯代码工具,方便线上部署。

然而也有特殊情况,我们在实际应用中发现,如果我们的数据源有很多Excel文件数据想要集成(在多数企业都存在这种情况),SeaTunnel就无法支持,这时用Kettle来抽取Excel文件中的数据再保存到数据库就变得非常容易。

工具本身没有好与坏之分,就看我们选择什么样的工具可以更好的解决我们面临的问题。

关注:遇码,学习开源技术。回复:Kettle获取下载地址。

遇码MeetCoding 开源技术社区