DataX安装及实例
1 Python安装
DataX 主要由Java和python开发,所以需要确保服务器上安装有Java>=1.6,python>=2.6 由于linux os本⾝⾃带的python 版本⽐较低,需要安装⼀个新版本的python.
1.1 下载python
2.6.9版本
本次安装将python安装包放在服务器/opt/ 路径下,视环境⽽定。
1.2 解压python命令
Putty⼯具连接到服务器,切换⾄/opt ⽬录下,执⾏以下命令:
tar xzf Python-2.
cd Python-2.6.9
linux安装oracle客户端详细步骤1.3 编译安装python命令
本⽰例python⽂件解压缩后的路径是/opt/python2.6.9 仅供参考
Putty⼯具连接到服务器,切换⾄/opt/python2.6.9 ⽬录下,执⾏以下命令安装
./configure --prefix=/opt/python2.6.9
make && make install
1.4 创建⼀个python
2.6的连接
ln -sf /opt/python2.6.9/bin/python2.6 /usr/bin/python2.6
2 DataX安装
2.1 ⽅式⼀:下载DataX源码,⾃⼰编译:
源码地址:www.doczj/doc/d0692d37bc64783e0912a21614791711cc7979b8.html /alibaba/DataX Maven构建
$ cd {DataX_source_code_home}
$ mvn -U clean package assembly:assembly -st.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⼯具包
⼯具包: 753M⼤⼩
下载后解压⾄服务器某个⽬录,修改权限为755,进⼊bin⽬录,即可运⾏样例同步作业
以下分别是解压缩,赋权限,及运⾏样例同步作业命令
$ tar zxvf
$ sudo chmod -R 755 {YOUR_DATAX_HOME}
$ cd {YOUR_DATAX_HOME}/bin
$ python datax.py ../job/job.json
192.168.31.100服务器上DataX⽬录:opt/datax
3 DataX其他软件要求
如果要使⽤Oracle,请确保已经安装oracle客户端
如果使⽤HDFS,需要确保hadoop命令⾏可⽤;同时请确保在执⾏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中的数据写⼊到数据⽬的端。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流写⼊数据。(常⽤于测试)
DataX 3.0每⼀种读插件都有⼀种或多种切分策略,都能将作业合理切分成多个Task并⾏执⾏,单机多线程执⾏模型可以让DataX速度随并发成线性增长。
在源端和⽬的端性能都⾜够的情况下,单个作业⼀定可以打满⽹卡。
5 DataX使⽤实例(Json操作)
5.1 Oracle-to-Txtfile
从oracle数据库查询然后导出到本地⽂件
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数据库
把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数据库查询数据,导出到txtfile
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论