datax插件开发指南.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux公社( LinuxIDC.com)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。 LinuxIDC.com提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。 DataX插件开发指南 版本号 修改内容 修改日期 修改人 V0.1 创建 2011-09-08 何健超 目录 TOC \o 1-3 \h \z \u HYPERLINK 一、 概述 4 HYPERLINK 二、 Reader插件开发(以httpreader为例) 5 HYPERLINK 1、 确定插件所需配置的参数 5 HYPERLINK 2、 构建相应包和类结构 5 HYPERLINK 3、 实现重载方法 7 HYPERLINK 4、 自定义split方法 10 HYPERLINK 三、 Writer插件开发(以streamwriter为例) 13 HYPERLINK 1、 确定插件参数、构建相应包和类结构 13 HYPERLINK 2、 实现重载方法 14 HYPERLINK 四、 插件运行配置(以httpreader为例) 16 HYPERLINK 1、 注册插件 16 HYPERLINK 2、 修改build.xml文件,打包 16 概述 DataX是一个在不同类型的数据库(文件系统)之间交换数据的工具,采用“框架+插件”的结构,框架相当于一个数据中转平台,而插件则为访问不同类型的数据库(文件系统)提供实现。 DataX插件分为Reader和Writer两类。Reader负责从数据源端读取数据到Storage(交换空间),Writer负责将Storage中的数据写入到数据目的端。Storage可以适配不同种类的Reader和Writer,从而实现数据同步。目前DataX版本已经提供的Reader插件如下: hdfsreader : 支持从hdfs文件系统获取数据。 mysqlreader: 支持从mysql数据库获取数据。 sqlserverreader: 支持从sqlserver数据库获取数据。 oraclereader : 支持从oracle数据库获取数据。 streamreader: 支持从stream流获取数据(常用于测试) httpreader : 支持从http URL获取数据。 提供的Writer插件如下: hdfswriter :支持向hdbf写入数据。 mysqlwriter :支持向mysql写入数据。 sqlserverwriter:支持向sqlserver写入数据。 oraclewriter :支持向oracle写入数据。 streamwriter :支持向stream流写入数据。(常用于测试) 用户可以根据需要开发自己的Reader Writer插件。现在以HttpReader 和StreamWriter插件为例,使用eclipse分别说明Reader和Writer插件开发过程。 Reader插件开发(以httpreader为例) 确定插件所需配置的参数 确定插件参数,并在common.plugin.ParamsKey.java中,创建静态类HttpReader,尤其注意对参数的注释尽量参照源码规范,DataX运行时,会根据此处声明的参数和注释生成对应的模板Job_xml.此处参数设置非常重要,如图: 图 1 构建相应包和类结构 在源码文件的plugins.reader包下构建httpreader包,再在httpreader包下创建类HttpReader,并让之继承common.plugin.Reader. 图 2 图 3 实现重载方法 获得图3所示效果:现在开始分别实现init( ), connectToDb( ), startRead(LineSender sender), finish( ) 四个方法。 Init( ):通过从Reader间接继承自DefaultPlugin的PluginParam类型的参数param获取配置httpreader插件的参数(此处可以对参数进行检查和格式处理等操作),如图: 图 4 connectToDb( ): 本插件不需要此操作,函数为空实现。(在数据库相关插件中,主要操作是通过DbSource.getConnection(keyId)获取connection),如在mysqlreader中,该函数为: 图 5 startRead(LineSender sender):根据init( )初始化的参数,连接相应的http URL, 获取其中数据并用Bu

文档评论(0)

137****0427 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档