一种ETL工具,ETL,是英文Extract-Transform-Load的缩写,用来描述将数据历来源端通过抽取(extract)、转换(transform)、加载(load)至目的端的过程。java
常见的ETL工具备datastage、informatica、kettle、ODI、Cognos等数据库
Kettle是一款国外开源的ETL工具,纯java编写,能够在Windows、Linux、Unix上运行,数据抽取高效稳定。按项目负责人Matt的说法:就是把各类数据放到一个壶里,而后呢,以一种你但愿的格式流出。windows
绿色安装,解压便可工具
经常使用版本:4.1.0,(体积小,易于部署) ,目前最新版本8.2spa
操做系统:windows,Linux,Unix等操作系统
JDK:1.6以上命令行
打开个人电脑--属性--高级--环境变量设计
新建系统变量JAVA_HOME和CLASSPATH3d
变量名:JAVA_HOME日志
变量值:D:\Program Files\Java\jdk1.8.0_192 (具体路径以本身本机安装目录为准)
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
添加到Path变量
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
确认JDK环境变量是否成功
转换:主要组成部分,完成数据的抽取,转换,装载
做业:定时执行转换
Spoon:图形界面工具,快速设计,维护ETL工做流,Spoon.bat,主要使用此工具
Kitchen:运行做业的命令行工具,Kitchen.bat
Pan:运行转换的命令行工具,Pan.bat
Carte:远程执行转换或做业,Carte.bat
打开Spoon.bat
出现闪退状况时,请查看一下JAVA环境变量配置,JAVA版本是否正确
长时间无反应时,调整一下虚拟机内存分配
编辑Spoon.bat,如下内容
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xmx512m" "-XX:MaxPermSize=256m"
(-Xms :表示java虚拟机堆区内存初始内存分配的大小
-Xmx: 表示java虚拟机堆区内存可被分配的最大上限
-XX:PermSize:表示非堆区初始内存分配大小
-XX:MaxPermSize:表示对非堆区分配的内存的最大上限)
第一次打开时,默认链接资源库,关闭便可,
资源库一般用于须要成员之间分工合做的大型的项目 ,
项目较小时,转换文件存储在本地便可。
文件-新建-转换,快捷键CTL+N
创建两个系统数据库的链接方式
设置字符集,数据库链接-选项
新增添加参数characterEncoding,设置值为UTF8
本地数据输入,数据库链接选择本地数据库,编写完成的SQL语句添加至此
插入对方数据库表,注意选择忽略插入错误选项
上传数据出错时,将错误记录写入本地EXCEL,(也能够其余形式,好比数据库表) 操做步骤,以下:
转换界面,空白处,鼠标右键,定义错误处理
定义日志位置,文件名
定义日志内容
定义日志字段