一 Kettle配置与部署

参考1:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html

1.下载kettle安装包

Kettle可以在http://kettle.pentaho.org/网站下载。

下载kettle压缩包,解压缩到任意本地路径。

2.安装和配置jdk

3.运行kettle

在windows中执行spoon.bat,在类unix系统中执行spoon.sh。

二 kettle文档教程

官方教程

https://help.pentaho.com/Documentation/7.0/0J0/0C0(最新版)

https://help.pentaho.com/Documentation/6.0/0J0/0C0(第6版)

csdn博客(翻译)

参考2:http://blog.csdn.net/column/details/easykettle.html

三 kettle的HelloWorld示例

http://blog.csdn.net/neweastsun/article/details/38729887

环境准备

开始设计一个转换之前,我们先创建一个文件夹Tutorial,我们将保存所有的文件到该文件夹中,然后创建一个csv文件,内容就是前面人员信息,你可以复制到文本文件中,然后命名为list.csv

设计转换

有三个子任务组成:

ü  创建一个转换

ü  设计转换中的步骤和连接

ü  配置步骤和连接

创建转换

1)     点击文件菜单中新建,或者通过快捷键Ctrl+N选择转换.

2)     在“主对象树”视图中点右击转换1,然后点击设置,或者在设计界面中右击,然后点击转换设置,或者使用Ctrl+T快捷方式。

3)    在设置窗口中可以设置转换的相关属性;我们这里写名称和描述,然后保存。

4)     保存该转换到Tutorial文件夹中,命名为hello,最终创建了hello.ktr文件。

步骤和连接

pan命令

pan是在终端执行转换的工具。在window是pan.bat,其他平台是pan.sh,在安装目录可以找到。如果你直接运行pan,不加任何选项,可以看到pan打印所有的选项。

简单命令如下:

pan /file <Job_path>/Hello.ktl/norep

/norep 选项是让spoon不要去连接资源库;

/file是转换文件的名称;

<job_path>是我们教程文件夹,如:c:/tutorial 或/home/tutorial

其他选项在运行时是缺省值;

你输入命令并确定后,转换同样被执行。这时,日志被打印到终端界面中,也可以设置日志打印到文件中。日志的格式有点变化,但内容和图形界面一致。

四 转换的主对象树Main Tree介绍

Main Tree菜单列出的是一个transformation中基本的属性,可以通过各个节点来查看。

DB连接:显示当前transformation中的数据库连接,每一个transformation的数据库连接都需要单独配置。

Steps:一个transformation中应用到的环节列表

Hops:一个transformation中应用到的节点连接列表

五 转换的核心对象树Core Objects介绍

Core Objects菜单列出的是transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。

Input:输入环节

Output:输出环节

Lookup:查询环节

Transform:转化环节

Joins:连接环节

Scripting:脚本环节

六 转换常用环节

类别

环节名称

功能说明

Input

文本文件输入

从本地文本文件输入数据

表输入

从数据库表中输入数据

获取系统信息

读取系统信息输入数据

Output

文本文件输出

将处理结果输出到文本文件

表输出

将处理结果输出到数据库表

插入/更新

根据处理结果对数据库表机型插入更新,如果数据库中不存在相关记录则插入,否则为更新。会根据查询条件中字段进行判断

更新

根据处理结果对数据库进行更新,若需要更新的数据在数据库表中无记录,则会报错停止

删除

根据处理结果对数据库记录进行删除,若需要删除的数据在数据库表中无记录,则会报错停止

Lookup

数据库查询

根据设定的查询条件,对目标表进行查询,返回需要的结果字段

流查询

将目标表读取到内存,通过查询条件对内存中数据集进行查询

调用DB存储过程

调用数据库存储过程

Transform

字段选择

选择需要的字段,过滤掉不要的字段,也可做数据库字段对应

过滤记录

根据条件对记录进行分类

排序记录

将数据根据某以条件,进行排序

空操作

无操作

增加常量

增加需要的常量字段

Scripting

Modified Java Script Value

扩展功能,编写JavaScript脚本,对数据进行相应处理

Mapping

映射(子转换)

数据映射

Job

Sat Variables

设置环境变量

Get Variables

获取环境变量

七 作业主对象树Main Tree介绍

Main Tree菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。

DB连接:显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。

Job entries:一个Job中引用的环节列表

八 作业核心对象树Core Objects介绍

Job entries菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。

每一个环节可以通过鼠标拖动来将环节添加到主窗口中。

并可通过shift+鼠标拖动,实现环节之间的连接。

九 作业常用环节

类别

环节名称

功能说明

Job entries

START

开始

DUMMY

结束

Transformation

引用Transformation流程

Job

引用Job流程

Shell

调用Shell脚本

SQL

执行sql语句

FTP

通过FTP下载

Table exists

检查目标表是否存在,返回布尔值

File exists

检查文件是否存在,返回布尔值

Javascript

执行JavaScript脚本

Create file

创建文件

Delete file

删除文件

Wait for file

等待文件,文件出现后继续下一个环节

File Compare

文件比较,返回布尔值

Wait for

等待时间,设定一段时间,kettle流程处于等待状态

Zip file

压缩文件为ZIP包

ETL开源工具kettle学习笔记的更多相关文章

  1. Kettle学习笔记(一)— 环境部署及运行

    目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...

  2. Kettle学习笔记(二)— 基本操作

    目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...

  3. GNU工具链学习笔记

    GNU工具链学习笔记 1..so为动态链接库,.a为静态连接库.他们在Linux下按照ELF格式存储.ELF有四种文件类型.可重定位文件(Relocatable file,*.o,*.a),包含代码和 ...

  4. Kettle学习笔记(四)— 总结

    目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle中设置编码 ...

  5. kettle学习笔记(一)——入门与安装

    一.概述 1.kettle是什么 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定.中文名称叫水壶,该项目的主程序 ...

  6. Windows驱动开发工具 WDK 学习笔记(1)

    目标:能够把电脑当作一个集成有高性能处理器的开发板用起来,当然,还自带了一个高级的操作系统Windows(必须的).总之,就是在一个带了操作系统的高性能开发板上的驱动程序开发. 性质:纯属业余爱好 1 ...

  7. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  8. Kettle学习笔记(一)

    Kettle简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,s数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程序员MATT ...

  9. Kettle 学习笔记

    一直用SSIS做ETL,越来越感觉这玩意不是亲生的.因此萌生换ETL工具的想法,不过Kettle社区版没什么调度系统,貌似错误处理也不是很方便,且先了解吧. 本文简略的记录了整个软件的使用流程. 开始 ...

随机推荐

  1. python中处理命令行参数的模块optpars

    optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能强大,易于使用,可以方便的生成标准的,符合Unix/Posix 规范的命令行说明.使用 add_option() ...

  2. laravel 中禁用掉注册功能

    想让 laravel 做单用户登录,禁止掉注册功能 在 RegisterController 添加以下方法 public function showRegistrationForm() { retur ...

  3. jquery插件的2种扩展开发(jQuery.extend和jQuery.fn.extend的区别)

    1.类级别 jQuery.extend(object) 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQu ...

  4. BZOJ4552 Tjoi2016&Heoi2016排序 【二分+线段树】*

    Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个 ...

  5. 深入了解 WPF Dispatcher 的工作原理(PushFrame 部分)

    在上一篇文章 深入了解 WPF Dispatcher 的工作原理(Invoke/InvokeAsync 部分) 中我们发现 Dispatcher.Invoke 方法内部是靠 Dispatcher.Pu ...

  6. 《DSP using MATLAB》示例Example 8.6

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  7. MkDocs 搭建试用

    http://www.mkdocs.org/备注:    在平时的开发中文档管理是一个比较重要的部分,同时集成在 平时开发的持续集成中,可以加速开发   1. 安装 pip install mkdoc ...

  8. JS实现动态提示框

    引言 什么项目都有个需求,应开发需求,需要写一个公式编辑器选择公式的插件,下面给大家讲一下实现过程.(擦汗,强作淡定,咳,开嗓~) 看图说话 本小菜开发功能前乐于先写个需求思维导图(纯属个人爱好): ...

  9. VLOOKUP函数使用

    跟财务老婆学习了个excel函数 -- vlookup函数,记录一下,省得下次用忘了. 需求:有两张表,将第一张表的第二个字段g2去搜索第二张表的字段d2,如果相等,将第二张表的第三个字段追加到第一张 ...

  10. 记一次 FastAdmin CMS 内容提示空的问题

    记一次 FastAdmin CMS 内容提示空的问题 有小伙伴反馈 FastAdmin CMS 安装后出现内容有文字,但提示错误 的问题. 我在本地重新安装测试并没有发现这个问题,一切正常,编辑器也可 ...