kettle使用手册

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1打开程序,点击

spoon.bat

其实对于简单的数据库数据的抽取,基本只需要转换(.ktr格式)和作业(.kjb格式)这两种东西。下面就是建立一个转换的步骤:

a 点击文件-->新建-->转换。

b 在左侧的树状列表中选“主对象树”,新建DB连接(参照第4点)。

c 在核心对象-->输入这个地方拖出一个表输入,在“输出”目录下拖出“表输出”,按住shift,从一个对象拖到另一个对象可进行连线。

2基本作业由开始,转换,成功3步骤组成。步骤之间使用shift+左键连线。

2.1‘1’代表无条件执行;

2.2‘2’代表上一步执行完成后,再执行下一步;

2.3‘3’代表不执行,左击连接线使其生效(绿色)或失效(灰色)。

3打开具体步骤中的转换流程,点击‘Transformation’跳转至相应具体转换流程,

编辑此转换具体路径,双击转换,弹出窗口,‘1’为相对路径,点击‘2’选择具体Visit.ktr 转换,为绝对路径。

4建立数据库连接,输入相应信息测试,成功即可

图4

5转换具体设置,如图4,‘表输出’至‘文本文件输出’流程跳接线为错误处理步骤,当输出格式不能满足表输出的目的表结构类型时,将会将记录输出到‘文本文件输出’

中的记录中。

5.1双击‘表输入’,输入相应的SSQL语句,选择配置数据库连接,或新增,预览查询

生成的结果(如果数据库配置中使用变量获取,此处预览生成错误)。

5.2双击‘表输出’,选择数据库连接,‘浏览’选择相应目标表,(此处‘使用批量插

入’勾选去除,目的是在错误处理步骤中无法使用批量处理,可能是插件兼容问

题)

6表输出插件定义

a) Target Schema:目标模式。要写数据的表的Schema的名称。允许表明中包含“。”对数据源来

说是很重要的

b) 目标表:要写数据的表名。

c) 提交记录数量:在数据表中用事物插入行。如果n比0大,每n行提交一次连接。否则不使用

事务,速度会慢一些。

d) 裁剪表:在第一行数据插入之前裁剪表。

e) 忽略插入错误:使Kettle忽略比如违反主键约束之类的插入错误,最多20个警告将被日志记录。

在批量插入的时候这个功能不可用。

f) 使用批量插入:这个选项速度快,默认被选上。

g) 表分区数据:使用这个选项可以在多个表之间拆分数据。例如把数据放到表s1、s2、s3中来代

替直接插入数据到表s中。

h) 例如:create or replace view sales as

1. Select* from sales_200501

2. Unionall

3. Select* from sales_200502

i) 表名定义在一个字段里:使用此选项可以拆分数据到一个或者多个表里,目标表名可以用你指

定的字段来定义。例如:如果你想存储客户性别数据,这些数据可能会存储到表M和表F里面。

这个选项可以阻止这些字段插入到相应的表里。

j) 返回一个自动产生的关键字:往表中插入行时,是否产生一个关键字。

k) 自动产生关键字的字段名称:指定包含关键字的输出字段的字段名称。

7执行任务,

Windos:bat批处理文件,

Linux:sh批处理文件,

Kitchen——作业执行器是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,没啥可讲的,就把它的参数说明列一下。

-rep : Repository name 任务包所在存储名

-user : Repository username 执行人

-pass : Repository password 执行人密码

-job : The name of the job to launch 任务包名称

-dir : The directory (don''t forget the leading / or \)

-file : The filename (Job XML) to launch

-level : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别

-log : The logging file to write to 指定日志文件

-listdir : List the directories in the repository 列出指定存储中的目录结构。

-listjobs : List the jobs in the specified directory 列出指定目录下的所有任务

-listrep : List the defined repositories 列出所有的存储

-norep : Don''t log into the repository 不写日志

嗯,居然不支持调度。看了一下文档,建议使用操作系统提供的调度器来实现调度,比如:Windows 可以使用它的任务计划工具。Linux使用crontab服务。

Kettle定时功能。

在Job下的start模块,有一个定时功能,可以每日,每周等方式进行定时,对于周期性的ETL,很有帮助。

a.使用资源库(repository)登录时,默认的用户名和密码是admin/admin。

b.当job是存放在资源库(一般资源库都使用数据库)中时,使用Kitchen.bat执行job 时,需使用如下的命令行:

Kitchen.bat /rep kettle /user admin /pass admin /job job名

相关文档
最新文档