DataX安装及实例_第1页
DataX安装及实例_第2页
DataX安装及实例_第3页
DataX安装及实例_第4页
DataX安装及实例_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 Python安装DataX 主要由Java和python开发,所以需要确保服务器上安装有Java>=1.6,python>=2.6由于linux os本身自带的python 版本比较低,需要安装一个新版本的python.1.1 下载python2.6.9版本本次安装将python安装包放在服务器 /opt/ 路径下,视环境而定。1.2 解压python命令Putty工具连接到服务器,切换至/opt 目录下,执行以下命令: tar xzf Python-2.6.9.tgz   cd Python- 编译安装python命令本示例pyt

2、hon文件解压缩后的路径是 /opt/python2.6.9 仅供参考Putty工具连接到服务器,切换至/opt/python2.6.9 目录下,执行以下命令安装./configure -prefix=/opt/python2.6.9    make && make install1.4 创建一个python2.6的连接ln -sf  /opt/python2.6.9/bin/python2.6  /usr/bin/python2.62 DataX安装2.1 方式一:下载DataX源码,自己编译:源码地址:Maven构建$ cd Data

3、X_source_code_home$ mvn -U clean package assembly:assembly -Dmaven.test.skip=true打包成功后的DataX包位于 DataX_source_code_home/target/datax/datax/ ,结构如下:$ cd DataX_source_code_home$ ls ./target/datax/datax/bin conf job lib log log_perf plugin script tmp将target/datax 下的 datax 目录放到服务器上 2.2 方式二:直接下载DataX工具包工具包

4、:datax.tar.gz 753M大小下载后解压至服务器某个目录,修改权限为755,进入bin目录,即可运行样例同步作业以下分别是解压缩,赋权限,及运行样例同步作业命令$ tar zxvf datax.tar.gz$ sudo chmod -R 755 YOUR_DATAX_HOME$ cd YOUR_DATAX_HOME/bin$ python datax.py ./job/job.json00服务器上DataX目录:opt/datax3 DataX其他软件要求如果要使用Oracle,请确保已经安装oracle客户端如果使用HDFS,需要确保hadoop命令行可用;

5、同时请确保在执行DataX的用户/home目录下,链接Hadoop config目录文件,在用户目录下执行: ln  -s  /home/$user/config  hadoop-configure-目录4 DataX概述DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成。 DataX插件分为Reader和Writer两类。Reader负责从数据源端读取数据到Storage(交换空间),Writer负责将Storage中

6、的数据写入到数据目的端。Storage可以适配不同种类的Reader和Writer,从而实现数据同步.目前DataX版本已经提供的Reader插件如下: 1、  hdfsreader : 支持从hdfs文件系统获取数据。 2、 mysqlreader: 支持从mysql数据库获取数据。 3、  sqlserverreader: 支持从sqlserver数据库获取数据。4、  oraclereader : 支持从oracle数据库获取数据。 5、  stre

7、amreader: 支持从stream流获取数据(常用于测试) 6、 httpreader : 支持从http URL获取数据。  提供的Writer插件如下: 1、  hdfswriter :支持向hdbf写入数据。 2、 mysqlwriter :支持向mysql写入数据。 3、  sqlserverwriter:支持向sqlserver写入数据。 4、 oraclewriter :支持向oracle写入数据。5、  st

8、reamwriter :支持向stream流写入数据。(常用于测试)DataX 3.0每一种读插件都有一种或多种切分策略,都能将作业合理切分成多个Task并行执行,单机多线程执行模型可以让DataX速度随并发成线性增长。在源端和目的端性能都足够的情况下,单个作业一定可以打满网卡。5 DataX使用实例(Json操作)5.1 Oracle-to-Txtfile从oracle数据库查询然后导出到本地文件 "job": "content": "reader": "name": "oraclereade

9、r", "parameter": "username": "tpl_acc", "password": "tpl_pwd", "where": "", "connection": "querySql": "select * from sys_user" , "jdbcUrl": "jdbc:oracle:thin:*.*.*.*:1521:orcl"

10、; , "writer": "name": "txtfilewriter", "parameter": "path": "/opt/result/", "fileName": "shun", "writeMode": "truncate", "format": "yyyy-MM-dd" , "setting": "speed&q

11、uot;: "channel": 200 writeMode:truncate把oracle-to-txtfile.json放在 datax/job路径下然后命令:python /opt/datax/bin/datax.py /opt/datax/job/oracle-to-txtfile.json执行完毕显示:5.2 Oracle-to-Oracle从oracle数据库查询然后导出到另一个oracle数据库 "job": "content": "reader": "name": "o

12、raclereader", "parameter": "username": "tpl_acc", "password": "tpl_pwd", "where": "", "connection": "querySql": "select loginname from sys_user" , "jdbcUrl": "jdbc:oracle:thin:*.*.

13、*.*:1521:orcl" , "writer": "name": "oraclewriter", "parameter": "column": "loginname", "connection": "jdbcUrl": "jdbc:oracle:thin:*.*.*.*:1521:orcl", "table": "test" , "password&qu

14、ot;: "sdc_pwd", "preSql": , "username": "sdc_acc" , "setting": "speed": "channel": 200 把oracle-to-oracle.json放在 datax/job路径下然后命令:python /opt/datax/bin/datax.py /opt/datax/job/oracle-to-oracle.json执行完毕显示:5.3 Mysql-to-Txtfile从mysql数

15、据库查询数据,导出到txtfile "job": "content": "reader": "name": "mysqlreader", "parameter": "username": "root", "password": "1234", "where": "", "connection": "querySql":

16、 "select loginname from sys_user" , "jdbcUrl": "jdbc:mysql:/*.*.*.*:3306/tpl" , "writer": "name": "txtfilewriter", "parameter": "path": "/opt/result/", "fileName": "mysql-txt", "writeMo

17、de": "truncate", "format": "yyyy-MM-dd" , "setting": "speed": "channel": 200 把mysql-to-txtfile.json放在 datax/job路径下然后命令:python /opt/datax/bin/datax.py /opt/datax/job/mysql-to-txtfile.json执行完毕显示:5.4 Mysql-to-Oracle从mysql数据库读取数据插入到oracle数

18、据库中 "job": "content": "reader": "name": "mysqlreader", "parameter": "username": "root", "password": "1234", "where": "", "connection": "querySql": "select

19、loginname from sys_user" , "jdbcUrl": "jdbc:mysql:/*.*.*.*:3306/tpl" , "writer": "name": "oraclewriter", "parameter": "column": "loginname", "connection": "jdbcUrl": "jdbc:oracle:thin:*.*.*.

20、*:1521:orcl", "table": "test2" , "password": "sdc_pwd", "preSql": , "username": "sdc_acc" , "setting": "speed": "channel": 200 把mysql-to-oracle.json放在 datax/job路径下然后命令:python /opt/datax/bin/datax

21、.py /opt/datax/job/mysql-to-oracle.json执行完毕显示:5.5 Txtfile-to-Oracle从文件中读取,存到oracle数据库 "job": "setting": "speed": "channel": 2 , "content": "reader": "name": "txtfilereader", "parameter": "path": "

22、;/opt/test", "encoding": "UTF-8", "column": "*", "fieldDelimiter": "," , "writer": "name": "oraclewriter", "parameter": "column": "loginname", "connection": "jd

23、bcUrl": "jdbc:oracle:thin:*.*.*.*:1521:orcl", "table": "test3" , "password": "sdc_pwd", "preSql": , "username": "sdc_acc" 把txtfile-to-oracle.json放在 datax/job路径下然后命令:python /opt/datax/bin/datax.py /opt/datax/job/txtf

24、ile-to-oracle.json执行完毕显示:5.6 Txtfile-to-Mysql读取文件里的数据,存放在mysql数据库中 "job": "setting": "speed": "channel": 2 , "content": "reader": "name": "txtfilereader", "parameter": "path": "/opt/test", "encoding": "UTF-8", "column":

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论