ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

KETTLE数据上传

2019-06-15 18:42:02  阅读:277  来源: 互联网

标签:bat JAVA 上传 数据库 KETTLE 内存 转换 数据 ETL


1.     KETTLE简介

一种ETL工具,ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

常见的ETL工具有datastage、informatica、kettle、ODI、Cognos等

Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。按项目负责人Matt的说法:就是把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。

2.     安装配置

2.1      版本

绿色安装,解压即可

常用版本:4.1.0,(体积小,易于部署) ,目前最新版本8.2

操作系统:windows,Linux,Unix等

JDK:1.6以上

2.2      设置

打开我的电脑--属性--高级--环境变量

新建系统变量JAVA_HOME和CLASSPATH

变量名: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环境变量是否成功

 

 

3.     KETTLE主要工具

转换:主要组成部分,完成数据的抽取,转换,装载

作业:定时执行转换

Spoon:图形界面工具,快速设计,维护ETL工作流,Spoon.bat,主要使用此工具

Kitchen:运行作业的命令行工具,Kitchen.bat

Pan:运行转换的命令行工具,Pan.bat

Carte:远程执行转换或作业,Carte.bat

4.     操作流程

4.1      启动

打开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:表示对非堆区分配的内存的最大上限)

4.2      主界面

第一次打开时,默认连接资源库,关闭即可,

 

 

资源库通常用于需要成员之间分工合作的大型的项目 ,

项目较小时,转换文件存储在本地即可。

4.3     新建转换

文件-新建-转换,快捷键CTL+N

4.4     数据库连接

建立两个系统数据库的连接方式

设置字符集,数据库连接-选项

新增添加参数characterEncoding,设置值为UTF8

4.5      常用控件

 

 

4.6      表输入

本地数据输入,数据库连接选择本地数据库,编写完成的SQL语句添加至此

4.7      表输出

插入对方数据库表,注意选择忽略插入错误选项

 

 

4.8      错误处理

上传数据出错时,将错误记录写入本地EXCEL,(也可以其他形式,比如数据库表) 操作步骤,如下:

转换界面,空白处,鼠标右键,定义错误处理

定义日志位置,文件名

定义日志内容

定义日志字段

 

标签:bat,JAVA,上传,数据库,KETTLE,内存,转换,数据,ETL
来源: https://www.cnblogs.com/wchwch/p/11028450.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有