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,(也可以其他形式,比如数据库表) 操作步骤,如下:

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

定义日志位置,文件名

定义日志内容

定义日志字段

KETTLE数据上传的更多相关文章

  1. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

    目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2      ...

  2. PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果

    固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...

  3. 如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!

    在开始正文之前,请帮忙为当前排名前 10 唯一的 .Net 开源软件 FineUI 投一票: 投票地址: https://code.csdn.net/2013OSSurvey/gitop/codevo ...

  4. Octopus系列之数据上传格式要求说明

    各个数据列要求 价格列:字符串类型[美元价格] 产品名字:可以支持"/"等字符 分类名字:去空格处理 不得包含"&"符号 主图:一定要有主图列 不为空 ...

  5. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

  6. C#数据上传方法

    /// <summary> /// 连接成功后开始调用数据上传程序 /// </summary> public void CallDataUpload() { //指定上传日期 ...

  7. 【AllJoyn专题】基于AllJoyn和Yeelink的传感器数据上传与指令下行的研究

    接触高通物联网框架AllJoyn不太久,但确是被深深地吸引了.在我看来,促进我深入学习的原因有三点:一.AllJoyn开源,对开源的软硬件总会有种莫名的喜爱,虽然或许不会都深入下去:二.顺应潮流,物联 ...

  8. Arduino UNO +ESP8266采集数据上传到贝壳网

    集成电路设计大赛赛程将至,我现在还是毫无头绪,然后又报了一个互联网+,比赛报了,东西就必须出来,时间很紧的情况下,所以选择了开源的arduino的进行完成.从开始接触Arduino到完成工程,前前后后 ...

  9. OneNET麒麟座应用开发之四:数据上传测试

    已经测试过OneNET麒麟座开发板了,这次来尝试与OneNET的连接和数据上传.这也是我们测试这块开发办的主要原因,因为在十几种我们有这种将分散的采集点数据上传到后台的需求. 先看看麒麟座这块开发板, ...

随机推荐

  1. 微信小程序把玩(四)应用生命周期

    原文:微信小程序把玩(四)应用生命周期 App() 函数用来注册一个小程序,注意必须在 app.js 中注册,且不能注册多个. 使用方式也跟Android中的Application中初始化一些全局信息 ...

  2. win32界面程序开发,自制一个会自动销毁的提示框

    思路:创建线程里面启动窗口,设置定时器关闭该窗口. 创建窗口几个步骤和一般窗口无异,注册.然后createwindow,之后showwinodw,然后消息循环. 在createwindow之后,获取到 ...

  3. uwp之拍照(使用后置摄像头)

    参考:wp8.1之拍照(获取焦点,使用后置摄像头) uwp开启摄像头要借助CaptureElement呈现来自捕获设备(如照相机或网络摄像机)的流.今天讲讲如何打开摄像头,获取焦点,以及拍照.废话不多 ...

  4. 关于联合体union的详细解释

    1.概述 联合体union的定义方式与结构体一样,但是二者有根本区别. 在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和.而在“联合”中,各成员共享一段内存空间,一个联合变量的长度 ...

  5. Qt4.7.4下单独编译QtWebkit

    最近编译出了Qt4.7.4的嵌入式版本,但没有编译QtWebkit库.在编译一个使用Webkit的工程时出错,而根据工程的需要,要单独编译QtWebkit库.    由于不想再次编译整个的Qt库,于是 ...

  6. Excel求值表达式——太好用了

    这个需要通过宏表函数EVALUATE来实现,首先需要自定义名称.如果数据在A列,那么在B列自定义名称,按Ctrl+F3键,在“定义名称框”中选择“新建”,然后输入名称为“结果”,数据来源输入=EVAL ...

  7. Python自学day-1

    一.Python介绍 1.python擅长领域:     WEB开发:Django. pyramid. Tornado. Bottle. Flask. WebPy     网络编程:Twisted(牛 ...

  8. 一道关于String的面试题,新鲜出炉,刚被坑过,趁热!!

    很多人都会答错的一道关于String的题目,究竟有什么难度? 我们一起来看一道关于String的面试题,准确说是改编的面试题! 准备好啦?在放大招之前先来一个小招式 String s1 = new S ...

  9. JS的第一天,精彩内容

    1.JS 介绍 js的全称是JavaScript,它是一门前台语言 Java是一门后台语言 ,它们两个之间毫无关系 JavaScript的作者是布兰登,艾奇 前台语言:运行在客户端 后台语言:与数据库 ...

  10. Windows上安装PyV8

    Windows上安装PyV8 在PyPi网站上有Windows的exe格式的包连接, PyPi, Google注意网络是否通畅! 官网地址 Google PyV8 双击安装, 注意, 一般会自动检测P ...