KETTLE 介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.0 Flow : 空操作(什么也不做)
这个操作说明都不做,它的主要作用是,在你想做测试的时候,充当一个占位符。
7.1 Flow : 过滤记录
这个步骤根据条件和比较符来过滤记录。 发送true数据给步骤: 指定条件返回true的数据将发送到此步骤 发送false数据给步骤: 指定条件返回false 的数据将发送到此步骤。 True 和false 步骤必须指定。
1.2 安装kettle 要运行Kettle ,必须按安装java 环境1.4或以上版本,kettle下载可以到: http://kettle.pentaho.org 取得最新版本。(pdi-ce-4.0.1-stable.zip) 1.3 运行spoon 下面是不同平台上运行spoon 所支持的脚本 : spoon.bat windows 平台运行Spoon. Spoon.sh linux 平台运行Spoon. 1.4 资源库 一个Kettle 资源库可以包含那些转换信息,这意味着为了从数据资源中加载一个转 换,你必须连接相应的资源库。
3.2 SQL 编辑器(SQL Editor)
1. 描述 Spoon 提供简单SQL 编辑器 ,可以实现 创建表,删除索引或者修改字段。大多数的 DDL,例如: create / alter table ,create index , create sequence 命令都可以通过 SQL编辑器窗口运行。(新建转换,输出是 表输出时,可打开SQL 编辑器)
6.1 转换:排序记录
这个步骤利用你指定的字段排序行,无论他们是按照升序还是降序。 当行数超过5000行的时候,Kettle 使用临时文件来排序行。 排序目录:临时文件存储的目录,如果缺省则为标准的系统临时文件 夹。 临时文件前缀:选择一个容易记的前缀,以便在临时目录中查找。 压缩临时文件: 当需要完成排序的时候,这个选项将压缩临时文件。
3. Note: 一个Note 是一个任务附加的文本注释信息。
1.7选项
你可以改变很多选项来增强图形用户界面的个性化。例如设置窗体的字体 和颜色。此选项在 Tools/选项 中设置。
1.8搜索元数据
通过 编辑/搜索元数据(ctr+f) 来使用这个特 性。
这个选项将在可用的字段、连接器、注释以
选择表输入, excel 输出,建立节点 连接。右击连接线,可编辑连线属 性。
5.1常用输入:
表输入 Excel 输入 文本文件输入 XML 文件输入 CUBE 输入(多维数据集) 获取系统信息
5.2输入:表输入
选择表输入,点击鼠标右键,选择编辑步骤。 步骤名称可以更改,一般更改为和输入表相关的名称。 数据库连接 : 选择一个已建好的数据库连接,也可以新建一个。 点击”获取SQL查询语句”,可弹出数据库浏览器,选择自己需要的表或视图。 选择好表或视图后,SQL 区域会显示相应的SQL,如选择在SQL里包含字段名,你 所选择的表的所有字段均会显示. 在SQL区域用户可手动修改SQL语句。
3.1 选项
1. Connection name :定义转换或任务访问的连接的唯一名称,可自行 设置,但不能为空。 2. Connection Type:连接的数据类型 3. Access: 可以是Native(JDBC),odbc, oci,jndi.一般选择JDBC 4. HostName: 指定数据库部署的主机或者服务器的名称,也可以指定IP 地址。 5. DataBase Name :指定连接的数据库的名称,如果是ODBC方式就指定 DSN名称。 6. port Number : 设定数据库监听的TCP/IP端口号 7. user Name / password : 指定连接数据库的用户名和密码
5.4 输出:插入/更新
插入/更新:若流里的数据在目标表中不存在,执行插入,否则执行更新, 数据量不大的情况下,一般采用插入/更新操作。
5.5 输出:更新
这个步骤类似于插入/更新步骤,除了对数据不作插入操作之外。它仅仅 执行更新操作。
5.6 输出:删除
这个步骤类似于更新步骤,除了不更新操作之外,其他的行均被删除。
5.7 输出:表输出
这个步骤可以存 取信息到数据库 中
5.8 输出:XML输出
这个步骤允许你从源中写入行到一个或多个xml文件。
6.0 转换:去除重复记录
这个步骤从输入流中移除重复的记录 步骤名称 : 在单一步骤中必须唯一 Redirect duplicate: 如果想知道多少重复行被去掉,就勾选此项。 字段名 : 用来比较的字段的字段名称。
2. 局限性 这只是一个简单的SQL 编辑器,它不可能完 全知道超过20种它所支持的数据库的方言。 这意味着创建存储过程,触发器或者其他的 数据库对象可能带来很多问题。在这种情况 下,应考虑使用数据库自带的工具。
4.数据库浏览器
1. 描述 数据库浏览器只显示可用的表,视图或者目 录
5.新建一个转换
4 .Input Stream : 一个Input Stream 是进入一个步骤时的行的堆栈。
5. Hop: 一个Hop 代表两个步骤之间的一个或者多个数据流。一个Hop总是代 表着一个步骤的输出流和一个步骤的输入流。 6. Note: 一个Note 是一个转换附加的文本注释信息。
1.6.2 任务 1. Job Entry : 一个Job Entry 是一个任务的一部分,它执行某些内容。 2. Hop: 一个Hop 代表两个步骤之间的一个或者多个数据流。一个Hop总是代 表着两个Job Entry 之间的连接,并且能够被原始的Job Entry设置,无 条件的执行下一个JobEntry,直到执行成功或者失败。
6.2 转换:增加序列
这个步骤在流里增加一个序列,一个序列是 在某个起始值 和增量的基础上,经常改变 的整数值。可以使用数据库的序列,也可以 使用kettle决定的序列 Kettle 序列在同一个转换中是唯一使用的, 每一次转换运行的时候,序列的值又会重新 循环一次,从开始值开始。 使用数据库获取序列:
值不同
“new” : 引用流中没有找到关键字 “deleted”: 比较流中没有找到关键字。 比较流中的数据进入下一步骤,除非在”删除”的 情况。
9.0 作业 核心对象
1. 通用 (1). START : start是任务执行的入口,首先必须是任务可以执行。只有无条件的任务条目可以从
8.1 连接 :合并记录
这个步骤允许你比较两个行流。如果想在两 个不同的时间比较数据,这是非常有用的。 它常被用于数据仓库源系统没有包含最后更 新日期的情况。 两个行流被合并,一个是引用流(旧数据),一 个是比较流(新数据),每次都是行里的最 后版本通过进入下一步骤,行有以下标记:
“Identical” : 关键字在两个流中都存在,并且值相同 “changed” : 关键字在两个流中都存在,但一个或更多的
5.3 输出:Excel 输出
Excel 输出编辑步骤选项,有三 个选项卡, 文件/内容/字段。 文件选项卡: 文件名选择输出文 件保存的路径。 扩展名: 系统默认为xls. 内容选项卡: 一般不需做修改。 字段选项卡:点击获取字段,输 入流中的字段全部会获取到,不 需要的字段,可选中不需要的行, 右键删除。
KETTLE 介绍
1.1 什么是kettle
Kettle 是”kettle E.T.T.L Envirnonment”首字母缩写,这意味着设计实现ETL需要 :
抽取,转换,装入和加载数据。
Spoon 是一个图形用户界面,它允 许运行转换或者任务,其中转换是用pan工具来运 行,任务是用Kitchen来运行。Pan 是一个数据转换引擎,它可以执行很多功能。例如从 不同的数据源读取、操作和写入数据。Kitchen 是一个可以运行利用xml或数据资源库描 述的任务,通常任务是在规定的时间间隔内用批处理的模式自动运行。
start 入口连接。
(2) job : 另外一个Job. (3) Success (4) Transformation : 选择一个已经存在的 .ktr文件。 (5) dummy : (6) set variables
9.1 作业 核心对象
右击start,选择编辑作业入口,可设置定时。如下图所示。 在job中使用Dummy 条目将什么也不做,这可以使一个任务更清晰的 展示,或者在执行循环中使用。
7.3 Flow :Blocking Step(被冻结的步骤)
这是一个非常简单的步骤,它冻结所有的输出,直到从上一个步骤来的最后一行 数据到达,最后 一行数据将发送到下一步。 你可以使用这个步骤触发常用插件、 存储过程和js等等。
8.0 连接 :Merge Join(合并排序)
这个步骤将来自两个不同的步骤输 入的数据执行一个高效的合并。合 并选项包括INNER ,LEFT OUTER , RIGHT OUTER, FULL OUTER. 这个步骤将输入的行按照指定的字 段存储 被合并的两个步骤,必须按照相同 的段进行排序。
1. 5 资源库自动登录
可以设置以下环境变量,来让 Spoon 自动登录资源库。 环境变量:KETTLE_REPOSITORY,KETTLE_USER, KETTLE_PASSWORD
1.6 定义
1.6.1 转换
1. Value : Values 是行的一部分,且包含以下类型的数据: Strings, floating point Numbers 、 unlimited precision BigNumbers、Integers、 Dates 或者 Boolean. 2. Row : 一行包含0个或者个Values 3.Output Stream : 一个Output Stream 是离开一个步骤时的行的堆栈。
及所有加载的任务和转换中搜索,并展示搜 索的结果。
2 新建一个转换或任务
可以通过工具栏上的文件/新建/ 来建立一个转换或任务,也可以 直接在主对象页签栏双击转换, 新建一个转换。选择好需要创建 的文件类型后,将会根据你的选 择,创建一个图形界面。
转换
作业
3 数据库连接
一个连接描述了 kettle连接数据 库的方法,左边 的菜单展示了所 有可用的连接。
7.2 Flow : Abort(中止)
这个步骤允许你在观察输入的时候中止步骤,它的主要用途是错误处理,在一定数量的行流 过错误的连接时中止转换。 失败阀值: 中止转换的开始行数。如果设置为0,在第一行的时候,步骤将被中止。 失败信息:中止的时候放入日志文件的消息,如果没有输入就使用缺省消息。 总是记录行数: 中止步骤总是记录处理的行数。
连接名称 : 选择数据库序列存在的 连接名称
序列名称: 数据库序列ห้องสมุดไป่ตู้名称 使用计数器来计算序列: 如果想使用kettle生成的 序列,使用此项。
计数器名称(可选):如果一个转换中多个步
骤生成同样的值名称,这个选项允许你指定计数 器的名称,避免按照先后顺序通过多个步骤。 起始值: 序列的起始值 增量 : 序列的增量 最大值 : 序列的最大值,如果超过,将重新开始
6.3 转换 : 拆分字段
这个步骤允许根据分隔符来拆分之盾。 步骤名称:在单一转换中必须唯一 需要拆分的字段: 想要拆分的字段的名称。 分隔符: 决定字段结束的分隔符 字段 : 拆分形成的字段列表。 例如: 某字段包含 : (123,456,789) , 使用逗号(,)分割符,可将字段分成三个段。