Datax安装及使用文档
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特点
- 在异构的数据库/文件系统之间高速交换数据
- 采用Framework + plugin架构构建,Framework处理了缓冲,流控,并发,上下文加载等高速数据交换的大部分技术问题,提供了简单的接口与插件交互,插件仅需实现对数据处理系统的访问
- 运行模式:stand-alone
- 数据传输过程在单进程内完成,全内存操作,不读写磁盘,也没有IPC
- 开放式的框架,开发者可以在极短的时间开发一个新插件以快速支持新的数据库/文件系统。(具体参见《DataX插件开发指南》)
3.DataX结构模式(框架+插件)
DataX架构模式
- Job: 一道数据同步作业
- Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任务.
- Sub-job: 数据同步作业切分后的小任务
- Reader(Loader): 数据读入模块,负责运行切分后的小任务,将数据从源头装载入DataX
- Storage: Reader和Writer通过Storage交换数据
- Writer(Dumper): 数据写出模块,负责将数据从DataX导入至目的数据地
DataX框架内部通过双缓冲队列、线程池封装等技术,集中处理了高速数据交换遇到的问题,提供简单的接口与插件交互,插件分为Reader和Writer两类,基于框架提供的插件接口,可以十分便捷的开发出需要的插件。
比如想要从oracle导出数据到mysql,那么需要做的就是开发出OracleReader和MysqlWriter插件,装配到框架上即可。并且这样的插件一般情况下在其他数据交换场合是可以通用的。
4.Datax安装部署
4.1系统环境windows 、linux均可,其他必须的依赖包括:
- JDK(1.8)
- Python(推荐Python2.6.X)
- 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主机上使用时候看到控制台友好的中文提示居然都变成了乱码了。官方也给出了解决方案:
- 打开CMD.exe命令行窗口
- 通过 chcp命令改变代码页,UTF-8的代码页为65001,
chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
- 修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为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安装
- 安装依赖环境
# 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
- 下载Python3
# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
- 安装python3
安装在/usr/local/python3(具体安装位置看个人喜好)
创建目录:
# mkdir -p /usr/local/python3
- 解压下载好的Python-3.x.x.tgz包
# tar -zxvf Python-3.6.1.tgz
- 进入解压后的目录,编译安装
# 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安装及使用文档相关推荐
- datax安装+配置+使用文档
1 DataX离线同步工具DataX3.0介绍 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlServer.Postgre.HDFS.Hiv ...
- matlab2018a安装后帮助文档打不开解决方法
matlab2018a安装后帮助文档打不开解决方法 参考文章: (1)matlab2018a安装后帮助文档打不开解决方法 (2)https://www.cnblogs.com/luoxiaojuan/ ...
- 英文VS2010安装中文版MSDN文档方法
在2010年4月12号发布Visual Studio 2010 and .NET 4正式版.5月26日微软发布了Visual Studio 2010 and .NET 4 RTM中文版,我们还是喜欢使 ...
- 陆续放出各种安装及配置文档
这几天根据拓扑图, 陆续放出各种安装及配置文档.敬请期待.... 转载于:https://blog.51cto.com/shubao/763318
- linux 文档属于apache,Apache 安装和使用文档
Apache 安装和使用文档 更新时间:2009年11月26日 00:34:37 作者: Apache安装和使用文档 一.准备工作: 1台PC机,安装linux操作系统 参考文档linux安装.d ...
- MAC VMware Fusion 虚拟机内安装 VmwareTools 共享文档
MAC VMware Fusion 虚拟机内安装 VmwareTools 共享文档 本来以为Mac可以有效得学习Docker,学习各种Docker应用,结果,Docker不支持 --net=host ...
- 学习FusionInsight HD 安装与部署文档
政府项目一般都会用到华为的项目, 所以必须学习华为的东西. 这里学习的是FusionInsight HD 6.5.1的安装与部署文档. 相关文档可以在华为官网下载. 1. FusionInsigh ...
- VS2015安装VC++帮助文档,并设置桌面快捷启动
VS2015的MSDN帮助文档包括.Net.Visual C++.Visual Basic.Visual C#等,有8.8G,解压后有14G,这个文件太大了.由于当前项目只使用了C++这一种语 ...
- Centos6.5-----nagios快速安装编译配置文档-全部虚拟环境
写这个文档的目的,就是为了方便 快捷的部署nagios,涉及到个人喜好的配置,大家自行修改,可以套用. 一.下载并安装所需软件 1,yum install gcc mysql httpd php gd ...
最新文章
- windows下nginx+tomcat分布式集群部署
- 那个在轮胎上考了99分的孩子拒绝再上网课
- 数字化转型的认识模型
- 物联网项目:将Arduino连接到Ubidots和Android –第1部分
- 7-7 列出叶结点 (10 分)
- 忙了12周,手机摄像头模组测试PCB板终于画出来了。
- [Vampier-magnetic material]3:cylinder core-shell material
- java浮点数转二进制_浮点数转换成二进制
- 董宝珍:从股市总市值占GDP比例看本轮牛市的归宿
- 1----sim模块的使用
- 在linux中at 调度出错,Linux 技巧: 用cron 和at 调度作业
- 平塘天眼和大数据有什么关系_聊聊平塘“天眼”的那些事儿,“FAST”到底有多牛?...
- 【数据可视化】免费开源BI工具 DataEase 之 Tab 组件前世今生
- 第一章.纺锤线和风高浪大线
- 利用python实现文件搜索功能
- Windows10 修改host文件(windows 设置ip别名)
- 彻底解决网易duilib进程有时候退不出的问题
- 【云服务器】云服务器实例配置
- opencv3+python3.5成语填字游戏(二)填字图片汉字提取和识别
- android 混淆高德地图,开发注意事项-创建工程-开发指南-Android 地图SDK | 高德地图API...
热门文章
- unturned服务器修改,unturned服务器设置
- 2021年系统集成项目管理工程师报名条件
- 开发版速达 移动App后台服务部署指南
- Flutter波浪进度条WaveProgressBar
- 格力手机“跳票”认怂?当真你就输了
- jsplumb 点击节点或者连线高亮显示
- 计算机二级c语言程序设计题型,计算机二级C语言题型和评分标准
- python英文文本词频统计_Python英文文章词频统计(14份剑桥真题词频统计)
- python手记(31)
- 蓝桥杯2017省赛C/C++A组题1迷宫题解(深搜dfs)