ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,在使用中我感觉这个工具真的很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率
Kettle概念
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
一、Kettle下载
1)官网地址:http://community.pentaho.com/projects/data-integration/
选择最新稳定版本 8.2
2)下载地址:https://sourceforge.net/projects/pentaho/files/
3)源码地址:https://github.com/pentaho/pentaho-kettle/
4)百度云共享地址:方便下载
链接:https://pan.baidu.com/s/1My25jGxhQgBfcT2TrxMbYg
提取码:l6op
二、启动
2.1 运行Kettle
进入到Kettle目录(注:需提前配置Java环境)
双击运行spoon.bat或Kettle.exe文件(windows环境),出现如下界面
2.2kettle组件介绍
1)创建一个新的转换(transformation),保存到本地路径(后缀名为ktr);
2)创建一个新的job,保存到本地路径(后缀名为kjb)
(注:双击和文件-新建都都可以)
新建转换如下
3)主对象树介绍,如下图所示
列出的是一个转换(transformation)中基本的属性,可以通过各个节点来查看,很方便。
DB连接:显示当前transformation中的数据库连接,每一个transformation的数据库连接都需要单独配置。
Steps:一个transformation中应用到的环节列表
Hops:一个transformation中应用到的节点连接列表
4)核心对象介绍
菜单列出的是转换(transformation)中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。
输入环节、输出环节、查询环节、转化环节、连接环节、脚本环节
5)Transformation转换介绍
每一个环节可以通过鼠标拖动来将环节添加到主窗口中。
并可通过shift+鼠标拖动,实现环节之间的连接
输入:
文本文件输入 |
从本地文本文件输入数据 |
表输入 |
从数据库表中输入数据 |
获取系统信息 |
读取系统信息输入数据 |
输出:
文本文件输出 |
将处理结果输出到文本文件 |
表输出 |
将处理结果输出到数据库表 |
插入/更新 |
根据处理结果对数据库表机型插入更新,如果数据库中不存在相关记录则插入,否则为更新。会根据查询条件中字段进行判断 |
更新 |
根据处理结果对数据库进行更新,若需要更新的数据在数据库表中无记录,则会报错停止 |
删除 |
根据处理结果对数据库记录进行删除,若需要删除的数据在数据库表中无记录,则会报错停止 |
转换
字段选择 |
选择需要的字段,过滤掉不要的字段,也可做数据库字段对应 |
过滤记录 |
根据条件对记录进行分类 |
排序记录 |
将数据根据某以条件,进行排序 |
空操作 |
无操作 |
增加常量 |
增加需要的常量字段 |
其它用大在详细讲解