标签:kettle配置
kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。
kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
这里我们只用transformation完成针对数据的基础转换。
在使用工具前,先安装jdk(因为此工具是用java开发的):
配置jdk环境变量 :
添加JAVA_HOME指明JDK安装路径,如C:\Program Files (x86)\Java\jdk1.7.0_09,此路径下包括lib,bin,jre等文件夹
2.在Path变量中添加:
设为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3.添加CLASSPATH变量为java加载类的(class or lib)路径
设为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径,当前路径的意思就是你现在编译运行的程序class文件所在的地方)
测试是否配置成功:在dos中,输入命令java
回车后应该会出现java的各种命令;
javac 也会出现相关编译的命令;
java -version 出现jdk版本号,
ps:注意java和javac都是命令(动词),后面-version可理解为宾语,中间是有空格的,切记!!!
在 cmd 中,输入
set java_home命令可以看到jdk安装目录;
set path 可以看到path变量的值,各种程序的执行路径
set classpath可以看到类装载路径
3.图文操作
1)开启kettle工具
将kettle文件夹拷贝到本地路径,例如D盘根目录。
双击运行kettle文件夹下的spoon.bat文件,进入kettle主页面:
关闭Repository Connection窗口
2)创建transformation
主窗口左上角“文件”--》“新建”--》“转换”,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为 EtlTestTrans,默认后缀为ktr.
3)创建Oracle连接
在transformation页面下,点击左边的“主对象树”,双击“DB连接”进行数据库连接配置。如图:
Connection Name 自命名连接名称
Connection Type选择需要连接的数据库
Host Name 数据库服务器的ip地址
DataBase Name 数据库名称
Port Number 端口号
User Name 用户名
Password 密码
填写内容如下:
填写完后,点击按钮“Test”.
如图上,表示连接成功。点击确定,然后点击保存数据库连接。
4)创建SqlServer连接
与创建Oracle连接大同小异,如图:
ODBC DSN Source Name 数据源名称
这里我用的是ODBC连接,需要配置数据源:
控制面板--管理工具--数据源(ODBC)--系统DNS--添加--……
5)表输入
核心对象--输入--表输入,将表输入拖到右边的主窗口,双击表输入如图:
自命名表输入名称,数据库连接下拉框选择etltest数据库(步骤3. 3)的oracle连接),
点击“获取SQL查询语句”,弹出框:
双击你要导出数据的表,点击确定。
6)字段选择
核心对象--转换--字段选择,将字段选择拖到右边的主窗口,
按住SHIFT键,用鼠标创建的表输入,拖动到字段选择上,则建立了两个环节之间的连接。
双击字段选择,在下图窗口中“选择和修改”和“元数据”tab页分别点击获取选择的字段按钮,然后确定。
7)表输出
与表输入大同小异。
4.遇到的问题
1)连接Oracle问题:注意Database Name,是配置文件TNSNAMES.ORA中数据库的配置名称。
2)连接SqlServer问题:用JDBC始终不成功,最后改用ODBC连接。
3)两库中表某字段类型不同:oracle中的blob类型--》sqlserver中的varbinary类型,最终改为image类型。
创建表:
点击SQL按钮
标签:kettle配置
原文地址:http://zhourj.blog.51cto.com/6187121/1973920