Datax安装及使用文档

1.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流写入数据。(常用于测试)

2.Datax特点

  1. 在异构的数据库/文件系统之间高速交换数据
  2. 采用Framework + plugin架构构建,Framework处理了缓冲,流控,并发,上下文加载等高速数据交换的大部分技术问题,提供了简单的接口与插件交互,插件仅需实现对数据处理系统的访问
  3. 运行模式:stand-alone
  4. 数据传输过程在单进程内完成,全内存操作,不读写磁盘,也没有IPC
  5. 开放式的框架,开发者可以在极短的时间开发一个新插件以快速支持新的数据库/文件系统。(具体参见《DataX插件开发指南》)

3.DataX结构模式(框架+插件)

DataX架构模式

  1. Job: 一道数据同步作业
  2. Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任务.
  3. Sub-job: 数据同步作业切分后的小任务
  4. Reader(Loader): 数据读入模块,负责运行切分后的小任务,将数据从源头装载入DataX
  5. Storage: Reader和Writer通过Storage交换数据
  6. Writer(Dumper): 数据写出模块,负责将数据从DataX导入至目的数据地

DataX框架内部通过双缓冲队列、线程池封装等技术,集中处理了高速数据交换遇到的问题,提供简单的接口与插件交互,插件分为Reader和Writer两类,基于框架提供的插件接口,可以十分便捷的开发出需要的插件。

比如想要从oracle导出数据到mysql,那么需要做的就是开发出OracleReader和MysqlWriter插件,装配到框架上即可。并且这样的插件一般情况下在其他数据交换场合是可以通用的。

4.Datax安装部署

4.1系统环境windows 、linux均可,其他必须的依赖包括:

  1. JDK(1.8)
  2. Python(推荐Python2.6.X)
  3. Apache Maven 3.x (想通过源码编译的话需要,否则直接用二进制包即可)

4.2 windows部署

4.2.1 python安装

官网地址:https://www.python.org/downloads/  下载安装,并做好环境变量配置

环境变量配置好以后,我们在cmd下面可以直接输入python,就可以切换到python的编译环境了

4.2.2 Datax安装

DataX工具包下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz,

下载解压,Datax的目录结构如下:

4.2.3 Datax任务执行测试

Cmd命令:python I:/datax/bin/datax.py I:/datax/job/job.json 通过python先执行Datax工具的datax.py文件,再执行job.json配置的任务进行数据同步。

4.2.4 windows下乱码修复

我把这个工具迁移到一台windows主机上使用时候看到控制台友好的中文提示居然都变成了乱码了。官方也给出了解决方案:

  1. 打开CMD.exe命令行窗口
  2. 通过 chcp命令改变代码页,UTF-8的代码页为65001,

chcp 65001

执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。

  1. 修改窗口属性,改变字体

在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

4.3 Linux部署

4.3.1 JAVA环境准备

# yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel  #安装openjdk

标准方式配置环境变量:

# vim  /etc/profile

将下面的三行粘贴到 /etc/profile中:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

4.3.2 Python安装

  1. 安装依赖环境

# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

  1. 下载Python3

# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

  1. 安装python3

安装在/usr/local/python3(具体安装位置看个人喜好)

创建目录:

# mkdir -p /usr/local/python3

  1. 解压下载好的Python-3.x.x.tgz包

# tar -zxvf Python-3.6.1.tgz

  1. 进入解压后的目录,编译安装

# cd Python-3.6.1

# ./configure --prefix=/usr/local/python3

# make && make install

注:参考https://www.cnblogs.com/kimyeee/p/7250560.html

4.3.3 Datax安装

下载datax,解压缩,赋755权限,及运行样例同步作业命令

# wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

# tar -zxvf datax.tar.gz -C /usr/local/

# chmod -R 755 /usr/local/datax/*

# cd /usr/local/datax/bin

# python datax.py ../job/job.json

4.4 Job数据同步配置文件编写

可以通过命令查看配置模板如下:

# python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

例如:

# python datax.py -r mysqlreader -w oraclewriter

数据源为mysql数据库,数据目的端为oracle数据库,下图显示内容:job的相关模板,以及两个参数文档链接。

4.5 Job实例(windows部署)

mysql数据传输到oracle

编写business.json配置文件

将编写好的配置文件放入datax工具的job目录

Cmd命令执行配置文件,实现数据同步

python I:/datax/bin/datax.py I:/datax/job/business.json

成功同步了6条记录!

Datax安装及使用文档相关推荐

  1. datax安装+配置+使用文档

    1 DataX离线同步工具DataX3.0介绍 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlServer.Postgre.HDFS.Hiv ...

  2. matlab2018a安装后帮助文档打不开解决方法

    matlab2018a安装后帮助文档打不开解决方法 参考文章: (1)matlab2018a安装后帮助文档打不开解决方法 (2)https://www.cnblogs.com/luoxiaojuan/ ...

  3. 英文VS2010安装中文版MSDN文档方法

    在2010年4月12号发布Visual Studio 2010 and .NET 4正式版.5月26日微软发布了Visual Studio 2010 and .NET 4 RTM中文版,我们还是喜欢使 ...

  4. 陆续放出各种安装及配置文档

    这几天根据拓扑图, 陆续放出各种安装及配置文档.敬请期待.... 转载于:https://blog.51cto.com/shubao/763318

  5. linux 文档属于apache,Apache 安装和使用文档

    Apache 安装和使用文档 更新时间:2009年11月26日 00:34:37   作者: Apache安装和使用文档 一.准备工作: 1台PC机,安装linux操作系统 参考文档linux安装.d ...

  6. MAC VMware Fusion 虚拟机内安装 VmwareTools 共享文档

    MAC VMware Fusion 虚拟机内安装 VmwareTools 共享文档 本来以为Mac可以有效得学习Docker,学习各种Docker应用,结果,Docker不支持 --net=host ...

  7. 学习FusionInsight HD 安装与部署文档

      政府项目一般都会用到华为的项目, 所以必须学习华为的东西. 这里学习的是FusionInsight HD 6.5.1的安装与部署文档. 相关文档可以在华为官网下载. 1. FusionInsigh ...

  8. VS2015安装VC++帮助文档,并设置桌面快捷启动

        VS2015的MSDN帮助文档包括.Net.Visual C++.Visual Basic.Visual C#等,有8.8G,解压后有14G,这个文件太大了.由于当前项目只使用了C++这一种语 ...

  9. Centos6.5-----nagios快速安装编译配置文档-全部虚拟环境

    写这个文档的目的,就是为了方便 快捷的部署nagios,涉及到个人喜好的配置,大家自行修改,可以套用. 一.下载并安装所需软件 1,yum install gcc mysql httpd php gd ...

最新文章

  1. windows下nginx+tomcat分布式集群部署
  2. 那个在轮胎上考了99分的孩子拒绝再上网课
  3. 数字化转型的认识模型
  4. 物联网项目:将Arduino连接到Ubidots和Android –第1部分
  5. 7-7 列出叶结点 (10 分)
  6. 忙了12周,手机摄像头模组测试PCB板终于画出来了。
  7. [Vampier-magnetic material]3:cylinder core-shell material
  8. java浮点数转二进制_浮点数转换成二进制
  9. 董宝珍:从股市总市值占GDP比例看本轮牛市的归宿
  10. 1----sim模块的使用
  11. 在linux中at 调度出错,Linux 技巧: 用cron 和at 调度作业
  12. 平塘天眼和大数据有什么关系_聊聊平塘“天眼”的那些事儿,“FAST”到底有多牛?...
  13. 【数据可视化】免费开源BI工具 DataEase 之 Tab 组件前世今生
  14. 第一章.纺锤线和风高浪大线
  15. 利用python实现文件搜索功能
  16. Windows10 修改host文件(windows 设置ip别名)
  17. 彻底解决网易duilib进程有时候退不出的问题
  18. 【云服务器】云服务器实例配置
  19. opencv3+python3.5成语填字游戏(二)填字图片汉字提取和识别
  20. android 混淆高德地图,开发注意事项-创建工程-开发指南-Android 地图SDK | 高德地图API...

热门文章

  1. unturned服务器修改,unturned服务器设置
  2. 2021年系统集成项目管理工程师报名条件
  3. 开发版速达 移动App后台服务部署指南
  4. Flutter波浪进度条WaveProgressBar
  5. 格力手机“跳票”认怂?当真你就输了
  6. jsplumb 点击节点或者连线高亮显示
  7. 计算机二级c语言程序设计题型,计算机二级C语言题型和评分标准
  8. python英文文本词频统计_Python英文文章词频统计(14份剑桥真题词频统计)
  9. python手记(31)
  10. 蓝桥杯2017省赛C/C++A组题1迷宫题解(深搜dfs)