ETL工具——Kettle的简单使用

1.Kettle概述

1.1. 什么是kettle

Kettle是一款免费开源的基于Java的企业级ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)可视化工具,功能强大简单易用。

1.2. Kettle的特点

ETL工具——Kettle的简单使用_第1张图片

1.3. Kettle的组成

  • 勺子(Spoon.bat/spoon.sh):kettle图形化界面,使用图形化方式开发转换和作业。

  • 煎锅(Pan.bat/pan.sh):使用命令行的方式调用转换。

  • 厨房(kitchen.bat/pan.sh):使用命令行的方式调用作业。

  • 菜单(Carte.bat/carte.sh):轻量级Web容器,用于建立专用、远程的ETL Server

1.4. kettle两种工作方式

简述:

Tansfomation(转换):完成针对数据的基础转换。

Job(作业):完成整个工作流的控制。

区别:

  1. 作业是步骤流,转换是数据流。

  2. 作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部启动(一个控件对应一个线程),然后数据流会从第一个控件开始,一条记录,一条记录流向最后的控件。

转换:

image-20211209161825488

作业:

ETL工具——Kettle的简单使用_第2张图片

2.Kettle的安装和使用

2.1. Kettle的安装

1.安装Java运行环境

ETL工具——Kettle的简单使用_第3张图片

2.安装kettle

地址:Pentaho from Hitachi Vantara - Browse /Data Integration at SourceForge.net

ETL工具——Kettle的简单使用_第4张图片

解压安装包到工作目录

ETL工具——Kettle的简单使用_第5张图片

点击Spon.bat,打开图形化界面

ETL工具——Kettle的简单使用_第6张图片

2.2. Kettle的使用

2.2.1转换(案例:数据库间数据同步操作,Mysql TO Mysql)

        1.新建转换

点击菜单栏,新建-转换

ETL工具——Kettle的简单使用_第7张图片

        2.建立表输入

点击左侧菜单栏,输入-拖动表输入到工作区-双击表输入

ETL工具——Kettle的简单使用_第8张图片

在data-integration\lib文件下添加mysql驱动

ETL工具——Kettle的简单使用_第9张图片

新建源数据库连接并测试

ETL工具——Kettle的简单使用_第10张图片

        3.编写sql查询并预览要抽取的数据

ETL工具——Kettle的简单使用_第11张图片

        4.新建插入/更新转换

点击左侧菜单栏,输出-拖动插入/更新到工作区-按住shift键,鼠标点击表输入连接插入/更新。

ETL工具——Kettle的简单使用_第12张图片

编辑目标数据库连接(如果同步的表在源数据库直接下拉选取,不在同一个数据库则需要新建)

点击获取字段获取源表和目标字段,选取合适的查询字段,和更新字段

用来查询的关键字:将源表记录与目标表记录对应的字段(如原表有字段id1,目标表有字段id2,则可通过id1==id2,判断目标表是否已经包含源表字段,满足该条机则执行更新,否则执行插入)

更新字段:将源表字段与目标表字段进行一一对应,点击编辑映射进行配置。

ETL工具——Kettle的简单使用_第13张图片

        5.保存转换

点击菜单栏文件-保存-填写转换名-保存文件(后缀名.ktr)

ETL工具——Kettle的简单使用_第14张图片

        6.运行转换

点击工具栏运行按钮,运行转换。查看运行结果。

ETL工具——Kettle的简单使用_第15张图片

2.2.2作业(案例:定时执行上述转换任务)

  1. 新建作业

点击菜单栏-文件-新建-作业,拖动左侧控件形成图示结构。

ETL工具——Kettle的简单使用_第16张图片

       2.编辑作业

点击start控件配置该作业的执行时间,间隔等

ETL工具——Kettle的简单使用_第17张图片

点击转换选取刚刚编写好的转换

ETL工具——Kettle的简单使用_第18张图片

可以根据实际需求配置操作失败后发送邮件操作,或者成功后执行sql语句等。

        3.保存作业,并执行

点击菜单栏文件-保存-填写转换名-保存文件(后缀名.kjb)

点击工具栏运行按钮运行作业,查看运行结果。

ETL工具——Kettle的简单使用_第19张图片

个人网站:http://www.binaryfire.site

你可能感兴趣的:(大数据,etl,数据仓库,big,data)