初识kettle
标签: kettle 最后编辑:2021年7月23日
什么是kettle
Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师 ;从此,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部分,Kettle亦重命名为Pentaho Data Integration 。——百度百科
kettle有两种脚本transformation(转换)和Job(作业)
Kettle有三个主要组件:Spoon、Kitchen、Pan
Spoon:是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。
Kitchen:利用Kitchen可以使用命令行调用Job
Pan:利用Pan可以用命令行的形式调用Trans
Carte:Carte是一个轻量级的Web容器,用于建立专用、远程的ETL Server。
什么是ETL
ETL是EXTRACT(抽取)、TRANSFORM(转换)、LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环,也是工作量较大的一块。
本地安装与使用
博主本机环境:kettle7.1 mysql8.0.19 windows64
官网下载地址kettle官网
下载解压zip包,然后通过启动脚本spoon.bat或者spoon.sh启动Spoon。
PS:windows选择Spoon.bat;Linux选择Spoon.sh
在你继续阅读文章之前,我假设你已经在本地安装好了MySQL,并且已经启动了MySQL服务。需要新建两个用来测试的数据库test和test1,新增表t_user和user,并且在t_user表插入一条数据,如下图
博主用的kettle版本是7.1的,启动的样子是下面这样
新建一个转换
点击左上角有+的图标,选择下面的转换,或者点击文件选择新建一个转换,然后会跳到一个转换的页面
再次点击有+的图标,选择下面的数据库连接,或者点击文件选择新建一个数据库连接。没有新建转换之前是不能新建数据库连接的。
新建数据库连接之前需要下载mysql的驱动官网下载地址,这里有个坑,因为我用的kettle是7.1版本,下载了几个高版本的mysql驱动都不行,所以选择5.1.49。
新建一个数据库连接,并且测试连接成功。把test和test1数据库都添加。
添加完之后点击主对象树下的DB连接即可看到刚刚新建的两个数据库
选择核心对象tab,将输入下的表输入和输出下的插入/更新拖到右边的位置
根据下面的图片进行属性设置,把test数据库下的t_user数据抽取到test1数据库下的user表中,然后按住shift从表输入到插入/更新
最后保存,然后点击运行
我们可以在下面的日志中看是否转换完成,然后再去数据库查看test1数据库的user表是否已经有数据。
后续再更新一些其他的操作
说:来学习一下,应该用得上