Kettle是一款纯java编写的, 开源的ETL工具,ETL是Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程.
kettle有四大核心组件: chef(工作设计工具), kitchen(工作执行器), spoon(转换设计工具), pan(转换执行器)
Transformation处理抽取,转换,加载各种对数据行的操作 ,包含一个或者多个步骤(step),如读取文件,过滤数据行,数据清洗,或者是将数据加载到数据库。 转换里的步骤通过跳(hop)来连接,跳定义了一个单项通道允许数据从一个步骤到向另一个步骤流动
hop跳用步骤之间带箭头的连线表示,跳定义了步骤之前的数据通路,是行集的数据行缓存,当行集满了,向行集写数据的步骤将停止写入,直到行集又有空间。当数据行空了,从行集读取的步骤停止读取,直到行集里又有可读的数据行。
并行: 让每一个步骤都是一个独立的线程运行,这样并发程度最高
下面写一个从excel到MySQL数据库的案例:
1.第一步在kettle的目录中点击启动Spoon.bat命令
2.点击转换->输入, 将excel输入拖拽到转换的工作台中
3.点击输出, 将输出,将表输出拖拽到转换的工作台中
4.点击工作流方向是excel输入指向表输出
5.双击excel设置相关参数
6.在MySQL对于的数据库中建对应的表, 表的字段可以自己虚化成字母,后面再设置值映射
7.双击表输出设置相关参数,包括数据库的连接信息, 表信息, 字段映射
8.运行执行
如果你也追求着用技术解决社会需求问题, 欢迎留言我们共同探讨.