Kettle简介
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。kettle是纯java编写,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率。
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle的下载与安装
环境要求:
- 安装、配置好JDK
1、下载Kettle(我的版本是pdi-ce-8.2.0.0-342.zip)
https://community.hitachivantara.com/s/article/data-integration-kettle
2、解压
首先解压下载下来的压缩包如:pdi-ce-8.2.0.0-342.zip
然后打开Spoon.bat,如图所示:
打开后请耐心等待一会儿时间
进去之后的样子:
到这里,恭喜你!你已经拥有了kettle!!!
入门案例1:
需求:
把数据从CSV文件(user.csv)抽取到Excel文件
数据源:
id |
name |
age |
gender |
province |
city |
region |
phone |
birthday |
hobby |
注册时间 |
392456197008193000 |
张三 |
20 |
0 |
北京市 |
昌平区 |
回龙观 |
18589407692 |
1970-08-19 |
美食;篮球;足球 |
2018-08-06 09:44:43 |
267456198006210000 |
李四 |
25 |
1 |
河南省 |
郑州市 |
郑东新区 |
18681109672 |
1980-06-21 |
音乐;阅读;旅游 |
2017-04-07 09:14:13 |
892456199007203000 |
王五 |
24 |
1 |
湖北省 |
武汉市 |
汉阳区 |
18798009102 |
1990-07-20 |
写代码;读代码;算法 |
2016-06-08 07:34:23 |
492456198712198000 |
赵六 |
26 |
2 |
陕西省 |
西安市 |
莲湖区 |
18189189195 |
1987-12-19 |
购物;旅游 |
2016-01-09 19:15:53 |
392456197008193000 |
张三 |
20 |
0 |
北京市 |
昌平区 |
回龙观 |
18589407692 |
1970-08-19 |
美食;篮球;足球 |
2018-08-06 09:44:43 |
392456197008193000 |
张三 |
20 |
0 |
北京市 |
昌平区 |
回龙观 |
18589407692 |
1970-08-19 |
美食;篮球;足球 |
2018-08-06 09:44:43 |
实现步骤:
1、在Kettle中新建转换
2、拖拽一个CSV输入组件、一个Excel输出组件、并按住Shift拖动鼠标连接两个组件
3、配置CSV输入组件、Excel输出组件
- 选择要进行导入的CSV数据源
- 点击 「获取字段」,读取CSV中的列
- 点击 「预览」,浏览CSV中的数据
- 点击 「确认」,保存读取CSV的步骤
4、配置Excel组件
- 指定输出Excel文件的位置
5、保存
6、点击三角形进行执行
7、控制台结果打印
8、查看输出文件
中间数据有问题的原因的数据类型错误,转换有问题