ETL工具(数据同步)

一、研究了kettle

Kettle最早是一个开源的ETL工具

前置条件,kettle是一个jar包项目,依赖jdk。安装kettle需要安装好jdk环境

二、下载安装

1、源代码下载:

GitHub - pentaho/pentaho-kettle: Pentaho Data Integration ( ETL ) a.k.a KettlePentaho Data Integration ( ETL ) a.k.a Kettle. Contribute to pentaho/pentaho-kettle development by creating an account on GitHub.https://github.com/pentaho/pentaho-kettle/

 kettle工具下载:

Pentaho from Hitachi Vantara - Browse Files at SourceForge.netEnd to end data integration and analytics platformhttps://sourceforge.net/projects/pentaho/files/2、目录说明

ETL工具(数据同步)_第1张图片

Spoon.bat: 图形界面方式启动作业和转换设计器。
Pan.bat: 命令行方式执行转换。
Kitchen.bat: 命令行方式执行作业。
Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行。
Encr.bat: 密码加密

三、数据复制使用步骤

1、打开Spoon.bat文件

ETL工具(数据同步)_第2张图片

2、资源库

①选择开发方案,选择资源库方式

文件->新建->转换 打开转换操作界面

ETL工具(数据同步)_第3张图片

② 工具 -> 向导 -> 创建数据库向导

输入数据库连接1

ETL工具(数据同步)_第4张图片

 然后设置JDBC地址

ETL工具(数据同步)_第5张图片

 第一次连接mysql需要下载mysql驱动,下载好驱动,放到你的spoon解压目录中的:data-integration/lib/里面,重启spoon

相关驱动jar:

ETL工具(数据同步)_第6张图片

mysql驱动下载地址:

https://mvnrepository.com/artifact/mysql/mysql-connector-java

oracle驱动下载地址

https://mvnrepository.com/artifact/ojdbc/ojdbc

数据库连接一,连接成功

ETL工具(数据同步)_第7张图片

同理:创建另一个数据库连接,可以是mysql连接2,也可以是oracle连接,SqlServer连接等等

③、通过工具->数据库->浏览分别可以i看到多个数据库连接的,状况,表和视图等等均可以看到

④建立表输入

1、打开核心对象

2、建立表输入-源表连接

选择输入->表输入

修改步骤名称、数据库连接,和对应sql。可以预览数据

ETL工具(数据同步)_第8张图片

⑤建立表输出-目标表连接

选择输出->表输出,同时建立好输入与输出的关联关系

ETL工具(数据同步)_第9张图片

修改步骤名称、数据库连接,和对应sql。可以预览数据

 ETL工具(数据同步)_第10张图片

 ⑥在输入、输出之前还需要加一个步骤清理SQL

组件库->选择脚本->选择执行SQL脚本

选择数据库连接,一定要确认好,是清理目标地址。不要选成清理源表数据!!!切记

ETL工具(数据同步)_第11张图片

 ETL工具(数据同步)_第12张图片

四、 测试转换是否正常工作

ETL工具(数据同步)_第13张图片

 查看日志转换正常

ETL工具(数据同步)_第14张图片

目标表也同步完成数据

五、新建作业,更改作业名称与配置

其中transformation所选择文件,是上一步转换保存的脚本路径

选择 Start 、成功、转换任务 可以选择多个转换任务

其中Start组件可以设置任务定时启动的时间配置

ETL工具(数据同步)_第15张图片

 ETL工具(数据同步)_第16张图片

将转换脚本保存到 文件夹/脚本保存/中

将定时作业保存到 文件夹/job/中

方便下次重新启动

附录:kettle学习路径

1、基础学习-使用方法

ETL工具(数据同步)_无敌小田田的博客-CSDN博客Kettle做跨库数据迁移工作https://blog.csdn.net/qq_36602951/article/details/125898662

2、linux运维部署ETL工具(数据同步) 二_无敌小田田的博客-CSDN博客kettle使用掌握之后,还需要掌握在linux下的定时执行的策略https://blog.csdn.net/qq_36602951/article/details/125959374

你可能感兴趣的:(数据库,Linux与运维,etl,数据仓库)