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












