数据迁移工具之DataX
文章目录
- 一、DataX
- 1、DataX框架
- 2、DataX运行原理
- 二、安装DataX
- 1、DataX的下载安装地址
- 2、编译
- 三、配置模板
- 1、从Stream流到控制台
- 2、从MYSQL到HDFS
- 3、从HDFS到MySQL
一、DataX
DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。
1、DataX框架
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z79kVoKg-1645612858233)(.\DataX\DataX框架.png)]
- **Reader:**数据采集模块,负责采集数据源的数据,将数据发送给Framework。
- **Writer:**数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
- **Framework:**用于连接reader和writer,作为两者的数据传输通道,并处理缓冲, 流控,并发,数据转换等核心技术问题。
2、DataX运行原理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xv6POGPK-1645612858234)(.\DataX\DataX运行原理.png)]
- **Job:**单个作业的管理节点,负责数据清理、子任务划分、TaskGroup监控管理。
- **Task:**由Job切分而来,是DataX作业的最小单元,每个Task负责一部分数据的同步工作。
- **Schedule:**将Task组成TaskGroup,单个TaskGroup的并发数量为5。
- **TaskGroup:**负责启动Task。
二、安装DataX
1、DataX的下载安装地址
下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
源码地址:https://github.com/alibaba/DataX
2、编译
#解压与安装
tar -zxvf datax.tar.gz -C /opt/software/
#切换到指定文件目录
cd /opt/software/datax/bin/
#运行自检脚本
python datax.py /opt/module/datax/job/job.json
三、配置模板
1、从Stream流到控制台
#查看DataX配置模板
python datax.py -r streamreader -w streamwriter
#------------------------------------------------------------------------------
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the streamreader document: https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.mdPlease refer to the streamwriter document: https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.mdPlease save the following configuration as a json file and use
python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json to run the job.{"job": {"content": [{"reader": {"name": "streamreader", "parameter": {"column": [], "sliceRecordCount": ""}},"writer": {"name": "streamwriter", "parameter": {"encoding": "", "print": true}}}],"setting": {"speed": {"channel": ""}}}
}
#------------------------------------------------------------------------------
#执行配置
.../datax/bin/datax.py .../job/XXX.json
2、从MYSQL到HDFS
#查看模板
python /opt/module/datax/bin/datax.py -r mysqlreader -w hdfswriter
#------------------------------------------------------------------------------
{"job":{"content":[{"reader":{"name":"mysqlreader","parameter":{"column":[],"connection":[{"jdbcUrl":[],"table":[]}],"password":"","username":"","where":""}},"writer":{"name":"hdfswriter","parameter":{"column":[],"compress":"","defaultFS":"","fieldDelimiter":"","fileName":"","fileType":"","path":"","writeMode":""}}}],"setting":{"speed":{"channel":""}}}
}
#------------------------------------------------------------------------------
#执行配置
.../datax/bin/datax.py .../job/XXX.json
3、从HDFS到MySQL
#查看模板
python bin/datax.py -r hdfsreader -w mysqlwriter
#------------------------------------------------------------------------------
{"job": {"content": [{"reader": {"name": "hdfsreader", "parameter": {"column": [ ], "defaultFS": "", "encoding": "UTF-8", "fieldDelimiter": ",", "fileType": "orc", "path": ""}}, "writer": {"name": "mysqlwriter", "parameter": {"column": [ ], "connection": [{"jdbcUrl": "", "table": [ ]}], "password": "", "preSql": [ ], "session": [ ], "username": "", "writeMode": ""}}}], "setting": {"speed": {"channel": ""}}}
}
#------------------------------------------------------------------------------
#执行配置
.../datax/bin/datax.py .../job/XXX.json
数据迁移工具之DataX相关推荐
- 8款数据迁移工具选型,主流且实用
前言:ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理.转换.迁移的场景.今天特地给大家汇总了一些目前市面上 ...
- 数据迁移工具,用这8种就够了
前言 最近由于工作需要需要进行数据迁移,那么ETL数据迁移工具该用哪些呢? ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇 ...
- 8 种主流数据迁移工具技术选型,yyds!
点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...
- 数据迁移工具,用这8种就够了!!!
前言 最近有些小伙伴问我,ETL数据迁移工具该用哪些. ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理.转 ...
- 阿里开源数据同步神器DataX异构数据源间数据同步同步MySQL与HDFS相互实战
Datax 实战使用 继上一篇 阿里开源数据同步神器DataX异构数据源间数据同步基础介绍与快速入门之后的实战篇 1.MySQL-To-HDFS 环境 & 准备说明: 描述: 为了快速搭建测试 ...
- 达梦数据迁移工具的使用
作为国产数据库,达梦是比较典型的一种,开发工作中会用到其他数据库表迁移到达梦数据库的问题,在此记录一下迁移方法也为他人提供方便. 该工具仅用于其他数据库表及文本文件迁移达梦,或达梦数据库表迁移到其他数 ...
- Sqoop数据迁移工具的使用
文章作者:foochane 原文链接:https://foochane.cn/article/2019063001.html Sqoop数据迁移工具的使用 sqoop简单介绍 sqoop数据到HDFS ...
- datax 定时执行多个job_数据同步神器Datax源码重构
每日一句永远不要认为我们可以逃避, 我们的每一步都决定着最后的结局, 我们的脚步正在走向我们自己选定的终点.Do not ever think about that we can escape , o ...
- 数据迁移工具 - Flyway
对于数据迁移的概念,相信大家已经都比较熟悉.那么,什么是数据迁移?为什么需要数据迁移?在这里就不再做相关分享啦~.接下来主要分享一下数据迁移工具 Flyway 使用. Flyway is the Ap ...
最新文章
- Nginx 进阶 (ssl、fpm、rewrite、cache配置等)
- Exception in thread main java.lang.NullPointerException
- Counting Bits(Difficulty: Medium)
- 【干货】陆奇:新格局下的创业创新机会.pdf(附下载链接)
- 什么是hibernate N+1查询
- ubuntu下安装宋体simsun
- 排队叫号python编程_一种自主选时排队叫号算法
- 弘辽科技:淘宝评分飘绿四大原因及快速提高评分之解决技巧
- Learn OpenCV之Heatmap
- 用 SpriteKit 做一个逃逸游戏 (2)
- C# 实现eval,支持任意个数、任意基本类型的参数
- bat获取管理员权限运行
- 多图详解缓冲区溢出问题
- node学习:包package,Buffer缓存和fs文件系统
- Android实现制作氢壁纸,氢壁纸怎么制作?氢壁纸制作方法介绍[图]
- 如何在网站中添加音乐
- linux mysql dengl_linux环境搭建(四)--MYSQL
- 推荐系统工程系列(1):浅谈推荐系统架构
- 计算机网络实验 —— 验证性实验
- C++ Learning 3
热门文章
- 微软账号登陆不上_登录微软账号的Windows电脑如何远程?
- 用电脑看epub电子书用什么阅读软件好?
- Y7000P 2020安装黑苹果教程
- python控制手机模拟器_Appium+python自动化23-Android夜神模拟器
- 百度AI Studio飞桨平台 “深度学习”结课总结
- 关于firefly-rk3288开发板编译uboot的问题
- 按颜色分类:青绿色系(Blue Green)
- 移动高德地图marker点
- Android调建行APP、建行微信遇到的坑
- php跳转到qq界面,PHP实现QQ登录的开原理和实现过程