- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kettle基础知识介绍
1.定义和作用
Kettle是一个开源的ETL工具集,它允许你管理来自不同数据源的数据。Kettle通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 工作被描述成元数据形式。
2. 应用范围
使用Pentaho架构企业级商业智能平台时,可以使用Kettle作为ETL工具。
3. 基础知识
3.1 功能
Kettle用来帮助你实现你的ETL 需要:抽取、转换、装载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出。
3.2 Kettle产品组成
Kettle家族有四个产品,分别是Spoon、Pan、Chef、Kitchen。
Chef—工作(job)设计工具 (GUI方式)
Kitchen—工作(job)执行器 (命令行方式)
Spoon—转换(transform)设计工具 (GUI方式)
Span—转换(transform)执行器 (命令行方式)
SPOON允许你通过图形界面来设计ETL转换过程(Transformation)。例如,从一个SAP系统抽取数据,并把这些数据存储到一个文件里的转换任务如下:
PAN允许你批量运行由Spoon设计的ETL转换(例如使用时间调度器)。Pan是一个后台执行的程序,没有图形界面。
CHEF允许你创建任务(JOB)。任务通过允许每个转换、任务、脚本等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换、任务、脚本等。任务将会被检查,看看是否正确运行了。(下面是一个chef的任务图)。
KITCHEN允许你批量使用由Chef设计的任务(例如使用一个时间调度器)。KITCHEN是一个后台运行程序。
Job和Transformation的差别:Transformation专注于数据的ETL,而Job的范围比较广,可以是Transformation,也可以是Mail、SQL、Shell、FTP等,甚至可以是另外一个Job。
3.3 Kettle概念模型
从上图可以看出,Kettle主要有两个主要功能模块:Transformation和Job,对应Kettle的两种脚本文件transformation(.ktr)和job(.kjb)。transformation 完成针对数据的基础转换,专注于数据加工本身,比如装卸数操作、数据编码转换;job 则完成整个工作流的控制,比如执行若干ETL转换,将加工后的文件借助SSH2传输出去等。通常,Job会包含若干ETL转换,并控制它们的执行,而且Job会以一定周期执行,比如每周二执行、每隔3小时执行等。
3.3.1 Transformation
支持多样化数据源类型
支持特殊目标数据源(把数据写入Cube或者XML)
支持多种查询语言
支持的脚本(JS脚本、SQL脚本、正则表达式)
支持渐变维度更新
批量加载
支持分区表和集群
3.3.2 Job
可以执行操作系统命令和操作
判断文件是否存在
执行JavaScript、SQL、Shell脚本
支持安全FTP获取、上传文件
删除远程文件
支持SSH2上传下载
4. 常见ETL工具的比较
4.1. Kettle与IBM DataStaged的比较
与Kettle相比,IBM DataStage过于笨重,无论是安装过程,还是运行时对机器物理资源的消耗。
与Kettle Spoon相比,IBM DataStage内置的ETL设计器在功能上并未占据优势。比如,Spoon对ETL工件的开发、测试、调试、性能监控提供了端到端的解决方案
Kettle解决方案可以在同一台机器上完成。
4.2. CloverETL
CloverETL工具是开源的,CloverETL是提供给你一组API,用XML来定义ETL过程,同样支持JDBC数据源, CloverETL是开源的,但是它是没有图形界面的,它提供一个有图形界面的CloverGUI 来进行ETL的图形化开发过程,但是不是开源的,需要购买商业许可证.
4.3. Kettle优势
开源,数据抽取高效稳定
有非常强大并且众多的使用群体,应用广泛
可用java进行集成开发
Kettle有功能强大且易于使用的设计界面
文档评论(0)