ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:1.01MB ,
资源ID:12328939      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12328939.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DataX插件开发指南.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DataX插件开发指南.docx

1、DataX插件开发指南Linux公社(LinuxIDC.com)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。LinuxIDC.com提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。DataX插件开发指南版本号修改内容修改日期修改人V0.1创建2011-09-08何健超一、概述DataX是一个在不同类型的数据库(文件系统)之间交换数据的工具,采用“框架+插件”的结构,框架相当于一个数据中转平台,而插件则为访问不同类型的数据库(文件系统)

2、提供实现。DataX插件分为Reader和Writer两类。Reader负责从数据源端读取数据到Storage(交换空间),Writer负责将Storage中的数据写入到数据目的端。Storage可以适配不同种类的Reader和Writer,从而实现数据同步。目前DataX版本已经提供的Reader插件如下:1、hdfsreader : 支持从hdfs文件系统获取数据。2、mysqlreader: 支持从mysql数据库获取数据。3、sqlserverreader: 支持从sqlserver数据库获取数据。4、oraclereader : 支持从oracle数据库获取数据。5、streamre

3、ader: 支持从stream流获取数据(常用于测试)6、httpreader : 支持从http URL获取数据。提供的Writer插件如下:1、hdfswriter :支持向hdbf写入数据。2、mysqlwriter :支持向mysql写入数据。3、sqlserverwriter:支持向sqlserver写入数据。4、oraclewriter :支持向oracle写入数据。5、streamwriter :支持向stream流写入数据。(常用于测试)用户可以根据需要开发自己的Reader & Writer插件。现在以HttpReader 和StreamWriter插件为例,使用eclips

4、e分别说明Reader和Writer插件开发过程。二、Reader插件开发(以httpreader为例)1、确定插件所需配置的参数 确定插件参数,并在common.plugin.ParamsKey.java中,创建静态类HttpReader,尤其注意对参数的注释尽量参照源码规范,DataX运行时,会根据此处声明的参数和注释生成对应的模板Job_xml.此处参数设置非常重要,如图:图 12、构建相应包和类结构 在源码文件的plugins.reader包下构建httpreader包,再在httpreader包下创建类HttpReader,并让之继承common.plugin.Reader.图 2图

5、 33、实现重载方法 获得图3所示效果:现在开始分别实现init( ), connectToDb( ), startRead(LineSender sender), finish( ) 四个方法。(1)Init( ):通过从Reader间接继承自DefaultPlugin的PluginParam类型的参数param获取配置httpreader插件的参数(此处可以对参数进行检查和格式处理等操作),如图:图 4(2)connectToDb( ): 本插件不需要此操作,函数为空实现。(在数据库相关插件中,主要操作是通过DbSource.getConnection(keyId)获取connection

6、),如在mysqlreader中,该函数为:图 5(3)startRead(LineSender sender):根据init( )初始化的参数,连接相应的http URL, 获取其中数据并用BufferedReader封装,循环处理每行数据,调用sender.createLine() 产生line,并通过line.addField(fieldStr)把每行数据切分成字段后组装成Line中的field,调用sender.sendToWriter(line)将此行数据写入Storage。如图:图 6(4)finish():本插件不需要此操作,函数实现为空。(在数据库相关插件中,主要完成关闭con

7、nection操作。)如在mysqlreader中,该函数为:图 74、自定义split方法 截止到目前,已经实现了一个简单的httpreader(从一个http URL读取数据),目前还未实现读取多个http URL的功能,为此,可以在common.plugin.ParamsKey.java中的静态类HttpReader中,添加如下两项:图 8然后让httpreader插件覆盖默认的split(PluginParam param)方法。操作如下:(1)split(PluginParam param)方法对param按照规则切分,生成List,DataX框架会根据此List产生插件实例执行任务

8、。图 9(2)为了清晰结构或者切分规则复杂,建议再构建类HttpURLSplitter辅助split方法实现切分,该类需要继承Splitter:图 10图 11实现init( )方法和split( )方法即可:图 12三、Writer插件开发(以streamwriter为例)1、确定插件参数、构建相应包和类结构 与Reader插件类似,略过,截图如下:图 1图 2图 32、实现重载方法(1)init( ) 、connectToDb()、finish( )三个方法与Reader中意义相似,此处略过。(2)commint( ) :本插件不需要此操作,函数实现为空。(在数据库相关插件中,主要完成提交任务操作。)(3)startWrite(LineReceiver linereceiver) :根据init( )初始化的参数,按照streamwriter插件配置信息,把linereceiver从Storage获取的数据通过xxx方法写入line中,循环处理每行数据(此处处理方式为直接输出),即可。如图:图 4四、插件运行配置(以httpreader为例)1、注册插件 在conf/plugins.xml中,添加如下配置项,以注册插件: 图 12、修改build.xml文件,打包图 2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1