一、Kettle说明介绍和原理说明
Kettle是一款免费的ETL工具。
ETL分别是“Extract”、“ Transform” 、“Load”三个单词的首字母缩写,也就是代表ETL过程的三个最主要步骤:“抽取”、“转换”、“装载”,但我们平时往往简称其为数据抽取。
ETL过程的三个最主要步骤:
“抽取”:将数据从各种原始的业务系统中读取出来,这是所有工作的前提。
“转换”:按照预先设计好的规则将抽取的数据进行转换,使本来异构的数据格式能统一起来。
“装载”:将转换完的数据按计划增量或全部导入到数据仓库中。
二、Kettle同步数据(简单操作步骤)
下载地址:https://sourceforge.net/projects/pentaho/files/Data Integration/
下载:pdi-ce-7.1.0.0-12.zip
1、文件->新建->转换
双击打开spoon.bat,在左侧主对象菜单栏,点击“转换”
2、核心对象-->输入,选择表输入
2.1、选择新建
2.2、输入数据库连接信息,点击测试,点击确定后,表输入那里可选择
2.3、输入查询的SQL语句,点击预览
3、核心对象-->输出,选择表输出
3.1、点击新建,输入数据库信息进行连接(和1.2步骤一致)
3.2、选择数据库连接,选择目标表,点击确定即可
(如果有模式,这里可输入,并预览)
(可选择目标表的预览,看看是否可预览)
4、连接并执行
4.1、选中表输入,按shirt键,拉线和表输出建立连接。
单击【表输入】,按shift键连接【表输入】,建立起【表输入】和【表输出】的连接
4.2、点击执行
4.3、查看结果
5、问题列表
5.1、问题1:同步的数据乱码
原因是:查看了表输入的预览,数据是正常的,表输出未设置字符设置
useCursorFetch=true
characterEncoding=utf8
再次同步,结果如下,乱码解决
5.2、问题2:mysql表输出的时候出现减速的原因可能是因为网络链接的属性设置。
在配置mysql数据库连接时在【选项】中添加参数:
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
如图:
来源地址:https://blog.csdn.net/fen_fen/article/details/129999682