今天给大家分享一个开源数据集成与工作流引擎:Apache Hop。
功能简介
Apache Hop 最初来源于我们熟悉的 ETL 工具 Kettle(Pentaho Data Integration),并且在 2020 年成为 Apache 软件基金会的顶级项目。
Apache Hop 的主要特点包括:
- 可视化开发,提供了图形界面用于设计工作流(workflow)和数据管道(pipeline),用户可以专注于业务逻辑而不是代码实现。
- 跨引擎支持,工作流和数据管道支持原生 Hop 引擎的本地和远程运行,数据管道也可以通过 Apache Spark、Apache Flink 以及 Google Dataflow 运行。
- 内置生命周期管理,Hop Gui 工具提供了不同的项目、环境以及运行时配置等管理功能。
- 元数据驱动,使用元数据(Metadata)描述针对数据的操作以及工作流和数据管道的编排,同时对于各种插件和功能的使用也通过元数据进行定义。
Apache Hop 常用的业务场景如下:
- 大数据加载,利用云环境、集群以及大规模并行处理将海量数据加载到数据库中。
- 数据仓库,利用内置的 SCD、CDC 以及代理主键创建功能执行 ETL 任务。
- 数据集成,实现关系型数据库、文件系统、NoSQL 数据库等不同架构的数据整合。
- 数据迁移,完成不同数据库和系统之间的数据迁移。
- 数据分析和数据清洗。
下载安装
打开 Apache Hop 官方下载页面:
https://hop.apache.org/download/
对于初学者,建议下载二进制安装包(Binaries)。
下载完成后进行解压即可完成安装。
注意:Apache Hop 基于 Java 开发,因此我们需要安装 JVM。目前的版本需要使用 64 位的 Java 17 以上版本。
学习示例
Apache Hop 提供了各种开发和运行工具,其中 Hop Gui 就是主要的图形开发工具,点击 hop-gui.bat 或者 hop-gui.sh 启动:
我们首先设置一下界面语言,点击界面左侧的配置视图(⚙),打开“Look & Feel”页面,选择“简体中文”:
修改配置之后,需要重启 Apache Hop 才能生效。
Apache Hop 自带了大量的学习案例,位于安装目录下的 config\projects\samples 子目录,可以通过“打开”菜单加载:
Apache Hop 中的概念和操作方法和 Kettle 非常类似,后者的使用方法可以参考这篇文章。