Kettle(PDI)-一款ETL工具的使用教程(1)

什么是ETL

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

什么是Kettle(PDI)

Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师 [1] ;从此,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部分,Kettle亦重命名为Pentaho Data Integration [1-2] 。Pentaho公司于2015年被Hitachi Data Systems收购。 [3] (Hitachi Data Systems于2017年改名为Hitachi Vantara [4] )
Pentaho Data Integration以Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。
Pentaho Data Integration分为商业版与开源版,开源版的截止2021年1月的累计下载量达836万,其中19%来自中国 [5] 。在中国,一般人仍习惯把Pentaho Data Integration的开源版称为Kettle。

安装

https://sourceforge.net/projects/pentaho/files/Pentaho%209.1/client-tools/

启动图形化界面
Kettle(PDI)-一款ETL工具的使用教程(1)
mysql驱动放入pdi-ce-9.1.0.0-324\data-integration\lib

基本演示

如何从多个数据库导出数据到本地数据库

1. 新建本地数据库

本地新建一个kettle_test的数据库,新增2张表。

-- ----------------------------
-- Table structure for eq_area_book
-- ----------------------------
DROP TABLE IF EXISTS `eq_area_book`;
CREATE TABLE `eq_area_book`  (
  `id` int NOT NULL COMMENT '主键',
  `area_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区域',
  `area_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区域编号',
  `area_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区域名称',
  `book_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '书',
  `book` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '书',
  `book_category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '书分类',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

新建连接
Kettle(PDI)-一款ETL工具的使用教程(1)
Kettle(PDI)-一款ETL工具的使用教程(1)
新建表输入和表输出
Kettle(PDI)-一款ETL工具的使用教程(1)
插入和更新
Kettle(PDI)-一款ETL工具的使用教程(1)

分别新建2个转换,完成数据库数据同步,新建作业,如图
Kettle(PDI)-一款ETL工具的使用教程(1)
调度
Kettle(PDI)-一款ETL工具的使用教程(1)

上一篇:【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射


下一篇:更改MySQL数据库的编码为utf8mb4