Download presentation
Presentation is loading. Please wait.
1
Kettle 培训 BI 数据部 Jim 2011年03月27日
2
Kettle 培训内容 Kettle 功能与产品介绍 Kettle 控件介绍 Kettle 案例演示 Kettle 调度
3
Kettle介绍 Kettle 是一款开源的、元数据驱动的ETL工具集,是开源 ETL 工具里功能比较强大的一个。
Kettle 是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计 用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出。
4
Kettle 四大家族 Pantaho产品线
Reporting、Data Mining、Analysis、Dashboards、Data Integration Kettle家族目前包括4个产品: Spoon、Pan、Chef、Kitchen。 Chef—工作(job)设计工具 (GUI方式) Kitchen—工作(job)执行器 (命令行方式) Spoon—转换(transform)设计工具 (GUI方式) Span—转换(transform)执行器 (命令行方式)
5
Kettle 四大家族 SPOON允许你通过图形界面来设计ETL转换过程(Transformation)。例如,从一个SAP系统抽取数据,并把这些数据存储到一个文件里的转换任务如下: PAN允许你批量运行由Spoon设计的ETL转换(例如使用时间调度器)。Pan是一个后台执行的程序,没有图形界面。 CHEF允许你创建任务(JOB)。任务通过允许每个转换、任务、脚本等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换、任务、脚本等。任务将会被检查,看看是否正确运行了。(下面是一个chef的任务图)。
6
Kettle 四大家族 KITCHEN允许你批量使用由Chef设计的任务(例如使用一个时间调度器)。KITCHEN是一个后台运行程序。
Job和Transformation的差别:Transformation专注于数据的ETL,而Job的范围比较广,可以是Transformation,也可以是Mail、SQL、Shell、FTP等,甚至可以是另外一个Job。
7
Kettle 的安装 要运行此工具你必须安装Sun 公司的JAVA 运行环境1.4 或者更高版本,相关资源你可以到网络上搜索JDK 进行下载
绿色免安装,解压即可用。 在不同的平台上运行Spoon 所支持的脚本: Spoon.bat: 在windows 平台运行Spoon。 Spoon.sh: 在Linux、Apple OSX、Solaris 平台运行Spoon。
8
Kettle转化功能介绍 1 Kettle 中有两种脚本文件,transformation (.ktr)和 job(.kjb),transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。 所有功能支持控件化,使用简单 支持多样化数据源类型: 基本的文本文件 Access、Excel、XML、Property文件格式 MDX查询语言、 Cube文件、Streaming XML数据流 自动产生空记录或者行 从XBase类型文件(DBF)读取数据 关系型数据库 获取系统信息如文件名称、系统时间等
9
Kettle转化功能介绍 2 特殊目标数据源支持 支持多种查询 转换功能 把数据写入到Cube 把数据写入XML 调用数据库存储过程
基本的数据库查询 判断表以及列、操作系统文件是否存在 从URL接收查询 使用Web服务查询信息 使用数据流中的值作为参数来执行一个数据库查询 流查询:从转换中其他流里查询值 转换功能 值映射、分组、去重、拆分字段、行列转换 复制行
10
Kettle转化功能介绍3 支持的脚本 支持渐变维度更新 批量加载: 支持分区表和集群 JS脚本 SQL脚本 正则表达式
Greenplum Bulk Loader Oracle Bulk Loader MSSQL Bulk Loader MYSQL Bulk Loader PostgreSQL Bulk Loader 支持分区表和集群
11
Kettle作业功能介绍 1 可以执行操作系统命令和操作: Ping 主机 写日志 发送邮件 从POP Server获取邮件并保存在本地
比较文件夹、文件 创建、复制、移动、删除、压缩文件 从HTTP获取或者上传文件 操作延迟等待
12
Kettle作业功能介绍 2 判断文件是否存在 执行JavaScript、SQL、Shell脚本 支持安全FTP获取、上传文件 删除远程文件
支持SSH2上传下载
13
数据库连接类型和访问类型 支持的数据库连接类型,截图如下, 有些数据库类型需要完善jar包,以确保数据库能够正确连接
14
访问类型 数据库访问类型支持如下几种: JDBC OCI ODBC JNDI
15
Kettle实施步骤 双击运行 kettle 文件夹下的 Kettle 文件,出现 kettle 欢迎界面。 创建资料库(可省略)
创建数据库连接 创建转换 创建Jobs,进行流程化控制
16
Kettle案例 案例描述: 把文本文件中的格式化数据导入到oracle数据库的指定表中
17
打开Kettle 选择没有资料库
18
创建数据库连接 创建数据库连接
19
输入数据源连接名称,选择数据源类型和访问方式
20
输入服务器主机名和数据库名称
21
输入数据表空间和索引表空间名称
22
输入用户名和密码
23
测试数据库连接
24
数据源建立成功
25
创建转换 右击转换,新建出现如下界面
26
从左侧输入栏目中选择文本文件输入控件,拖拽到右侧工作空间中
27
从输出栏目拖拽表输出控件到左侧工作区
28
选中两个控件,在其中一个控件上右击,选择新建节点连接
29
选择起始步骤
30
双击文本文件输入控件,进行编辑
31
文本文件“内容”标签编辑
32
点击获取字段按钮,可自动获取字段名称,然后编辑相关属性,预览记录。
33
编辑输出表控件属性
34
然后点击绿色按钮,启动转换
35
保存转换
36
可以查看执行结果
37
可以加入执行SQL脚本
38
在核心对象中有很多控件可用来实现数据的ETL功能。
39
创建作业 从左侧通用栏目中拖拽两个控件
40
双击Transformation 1进行编辑
42
保存jobs后执行任务
43
Kettle 调度 利用Kitchen工具实现作业的调用
Kitchen.bat /file:D:\job_name.kjb /level:Basic
44
总结 Kettle的功能非常强大,数据抽取效率也比较高,开源产品,可以进行第三方修改,工具中的控件能够实现数据抽取的大部分需求。
所有功能支持控件化,使用简单 Kettle目前还不是特别稳定,并且发现的BUG也特别多
Similar presentations