欢迎来到天天文库
浏览记录
ID:21779352
大小:1.79 MB
页数:58页
时间:2018-10-24
《kettle入门例子大全》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Kettle培训技术文档0507Etl介绍ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。kettle部署运行将kettle2
2、.5.1文件夹拷贝到本地路径,例如D盘根目录。双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面:稍等几秒选择没有资源库,打开kettle主界面创建transformation,job点击页面左上角的创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation文件保存后后缀名为ktr点击页面左上角的创建一个新的job,点击保存到本地路径,例如保存到D:/etlt
3、est下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb创建数据库连接在transformation页面下,点击左边的【MainTree】,双击【DB连接】,进行数据库连接配置。connectionname自命名连接名称Connectiontype选择需要连接的数据库Methodofaccess选择连接类型Serverhostname写入数据库服务器的ip地址Databasename写入数据库名Portnumber写入端口号Username写入用户名Password写入密
4、码例如如下配置:点击【test】,如果出现如下提示则说明配置成功点击关闭,再点击确定保存数据库连接。一个简单的ktr例子目的:将一个数据库导入到另一个数据库中。操作步骤:创建一个transformation,命名为etlTestTrans.ktr,创建数据库连接ods,点击【Input】,选中【表输入】,拖到主窗口,释放鼠标,双击打开如下图点击【Transform】,选中【字段选择】,拖到主窗口,释放鼠标点击【Output】,选中【表输出】,拖到主窗口,释放鼠标建立【文本文件输入】和【字段选择】与【字段选
5、择】和【表输出】的连接双击【表输出】,目标表中写入ZT_TEST_KETTLE,,确定保存双击【字段选择】,点击获取选择的字段,再点击EdltMapping,点击OK确定,编辑所有字段对应关系,点确定。点击运行这个转换。,则将上一个ktr中生成的文本,导入到数据库当中。一个简单的kjb例子目的:将上一个transformation在一个job里面调用执行。操作步骤:在etlTestJob页面,点击【CoreObjects】,点击【Jobentries】,选中【START】拖动到主窗口释放鼠标,再选中【Tr
6、ansformation】,拖动到主窗口释放鼠标,建立【START】和【Transformation】之间的连接。双击【Transformation】,在Transformationfilename中写入E:kettleWorkspaceetlTestTrans.ktr,确定保存。点击保存创建好的job。点击运行这个转换。待所有任务都显示成功,则为job调用transformation运行成功。一个增量的例子增量更新按照数据种类的不同大概可以分成:1. 只增加,不更新,2. 只更新,不增加3. 即增加
7、也更新4. 有删除,有增加,有更新下面针对前三种做一个增量的ETL抽取。过程如下:根据前面讲解的例子一样,首先建立源表(fina_test1)和目标表(fina_test2),整个设计流程如下:其中第一个步骤(输入-目标表)的sql大概如下模式:selectifnull(max(date_seal),'1900-01-0100:00:00')fromfina_test2你会注意到第二个步骤和第一个步骤的连接是黄色的线,这是因为第二个tableinput(输入-源表)步骤把前面一个步骤的输出当作一个参数来用
8、,所有Kettle用黄色的线来表示,第二个tableinput(输入-源表)的sql模式大概如下:SELECT*FROMfina_test1wheredate_seal>?后面的一个问号就是表示它需要接受一个参数,你在这个tableinput(输入-源表)下面需要指定replacevariableinscript选项和执行每一行为选中状态,这样,Kettle就会循环执行这个sql,执行的次数为前面参数步骤传入的数据集的大小。关
此文档下载收益归作者所有