资源描述:
《ETL利器Kettle实战应用解析系列二【应用场景和实战DEMO下载】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ETL利器Kettle实战应用解析系列二【应用场景和实战DEM0下载】木系列文章主耍索引如下:一、ETL利器Kettle实战应用解析系列一【Kettle使用介绍】二、ETL利器Kettle实战应用解析系列二【应用场景和实战DEM0下载】三、ETL利器Kettle实战应用解析系列三【ETL后台进程执行覘置方式】本文主要阅读目录如下:1、应用场呆2、DEM0实战3、DEMO下载1、应用场景这里简单概括-下儿种具体的应用场景,按网络环境划分主要包插:表视图模式:这利惴况我们经常遇到,就是在同一网络环境下,我们对各种数据源的表数据进行抽取、过滤、清洗等,例如历史
2、数据同步、并构系统数据交互、数据对称发布或备份等都归属于这个模式;传统的实现方式般都要进行研发(-小部分例如两个相同表结构的表之间的数据同步,如果sqlserver数据库可以通过发布/订阅实现),涉及到一些复杂的一些业务逻辑如果我们研发出來还容易出各种bug;前邊机模式:这是一种典熨的数据交换应用场呆,数据交换的双方A和B网络不通,但是A和B都可以和前還机C连接,一般的情况是双方约定好前置机的数据结构,这个结构跟A和B的数据结构基木上是不一致的,这样我们就需耍把应用上的数据按照数据标准推送到前置机上,这个研发工作量还是比较大的;■■文件模式:数据交互的双
3、方A和B是完全的物理隔离,这样就只能通过以文件的方式來进行数据交互了,例如XML格式,在应川A中我们开发一个接口用来牛成标准格式的XML,然后用优盘或者别的介质在某•时间把XML数据拷贝之后,然后接入到应用B上,应用B上在按照标准接LI解析相应的文件把数据接收过来:综上3种模式如果我们都川传统的模式无疑工作量是巨大的,那么怎么做才能更高效更节省时间乂不容易出错呢?答案是我们可以用一下Kettle-_-!2、DEM0实战2、1实例1:数据库TestA中的UserA表到数据库TestB的UserB表1)为方便演示,我这边把Sql脚本贴出來,大家直接复制在sq
4、lserver中运行即可,sql脚本如下:usemasterlFEXISTS(SELECT1FROMsysdatabasesWHERENAME=N,TestA,)BEGINDROPDATABASETestA―如果数据悴彳“E先删掉数羽库ENDGOCREATEDATABASETestAONPRIMARY--仓U建主数据库文件(NAME=fTestA1,FILENAME1E:ETLDBTestA・dbf‘,SIZE5MBfMaxSize20MB,FileGrowth1MB)gouseTestA—建立,个测试的createtableusersA(idin
5、tno*null.useridvarchar(50)notnull,usernamevarchar(200)null)go插入3条记求insertintousersAvalues(lz1lisi1t';insertintousersAvalues(2Z'zhangsan*,1;insertintouseirsAvalues(3r*lisi*z*);gousemasterlFEXISTS(SELECT1FROMsysdatabasesWHERENAMEN'TestA')BEGINDROPDATABASETestA如果数据咋存在先册掉数据库ENDGOCREA
6、TEDATABASETestBONPRIMARY-创建】•:数据库文件(NAME•TestB*zFILENAME'E:ETLDBTestB・dbfjSIZE5MBrMaxSize20MB,FileGrowth=lMB)gouseTestB--建立个测试的createtableusersB(idintriotnull/useridvarchar(50)notnull,usernamevarchar(200)null)go2)Kettle实现方式功能简述:数据库TestA中的UserA表到数据库TestB的UserB表;实现流程:建立一个转换和一个作业
7、Job;A:建立一个转换:打开Kettle.exe,选择没有资源库,进入主界血,新建一个转换,转换的后缀名为ktr,转换建立的步骤如下:步骤1:创建DB连接,选择新建DB连接,如下图,我们输入相应的Sqlserver配置信息Z后点击Test按钮测试是否配置正确!SettingsTestAConnectionType:Kingb^seESMSAccessHostName:MSSQLServerMaxDB(SAPDB)MonetDBMySQLNeoviewNetezzaOracleOracleRDBPaloMOLAPServerPostgreSQLRemed
8、yActionRequestSystemSAPR/3SystemSQLitelo