DataX插件开发指南.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux公社(LinuxlDC.com)于2006年9月25日注册并开通网站, Linux现在已经成为一种 广受关注和支持的一种操作系统, IDC是互联网数据中心,LinuxlDC就是关于Linux的数据 中心。 LinuxIDC.com提供包括 Ubuntu, Fedora,SUSE技术,以及最新 IT资讯等Linux专业类网站。 DataX插件开发指南 版本号 修改内容 修改日期 修改人 V0.1 创建 2011-09-08 何健超 目录 TOC \o "1-5" \h \z \o "Current Document" 一、 概述 4 \o "Current Document" 二、 Reader插件开发(以 httpreader 为例) 5 \o "Current Document" 1、 确定插件所需配置的参数 5 \o "Current Document" 2、 构建相应包和类结构 5 \o "Current Document" 3、 实现重载方法 7 \o "Current Document" 4、 自定义 split方法 9 \o "Current Document" 三、 Writer插件开发(以streamwriter为例) 12 \o "Current Document" 1、 确定插件参数、构建相应包和类结构 12 2、 实现重载方法 13 \o "Current Document" 四、 插件运行配置(以 httpreader为例) 15 \o "Current Document" 1、 注册插件 15 \o "Current Document" 2、 修改 build.xml文件,打包 15 一、概述 DataX是一个在不同类型的数据库(文件系统)之间交换数据的工具,采用“框 架+插件”的结构,框架相当于一个数据中转平台,而插件则为访问不同类型的 数据库(文件系统)提供实现。 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、 streamreader:支持从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插件为例,使用eclipse分别说明Reader和Writer插件开发过程。 Reader插件开发(以httpreader为例) 1、 确定插件所需配置的参数 确定插件参数,并在 common.plugin.ParamsKey.javs中,创建静态类 HttpReader,尤其注意对参数的注释尽量参照源码规范, DataX运行时, 会根据此处声明的参数和注释生成对应的模板 Job_xml此处参数设置非 常重要,如图: public static class HttpReader { f @name: fieldSplit @description:列分隔符 grange: @mandatory: false @default:\t */ public final static String fieldsplit = /* 士 @name r encoding @description:编码 + grange: UTF-8IGEKIGB2312 Smandatory: false + @default: VTF-0 / public final static String encocJijjg- = T,encoding11; /* @name: nullString + @de

文档评论(0)

cooldemon0602 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档