文章目录

  • 一、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)]

  1. **Reader:**数据采集模块,负责采集数据源的数据,将数据发送给Framework。
  2. **Writer:**数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
  3. **Framework:**用于连接reader和writer,作为两者的数据传输通道,并处理缓冲, 流控,并发,数据转换等核心技术问题。

2、DataX运行原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xv6POGPK-1645612858234)(.\DataX\DataX运行原理.png)]

  1. **Job:**单个作业的管理节点,负责数据清理、子任务划分、TaskGroup监控管理。
  2. **Task:**由Job切分而来,是DataX作业的最小单元,每个Task负责一部分数据的同步工作。
  3. **Schedule:**将Task组成TaskGroup,单个TaskGroup的并发数量为5。
  4. **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相关推荐

  1. 8款数据迁移工具选型,主流且实用

    前言:ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理.转换.迁移的场景.今天特地给大家汇总了一些目前市面上 ...

  2. 数据迁移工具,用这8种就够了

    前言 最近由于工作需要需要进行数据迁移,那么ETL数据迁移工具该用哪些呢? ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇 ...

  3. 8 种主流数据迁移工具技术选型,yyds!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  4. 数据迁移工具,用这8种就够了!!!

    前言 最近有些小伙伴问我,ETL数据迁移工具该用哪些. ETL(是Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理.转 ...

  5. 阿里开源数据同步神器DataX异构数据源间数据同步同步MySQL与HDFS相互实战

    Datax 实战使用 继上一篇 阿里开源数据同步神器DataX异构数据源间数据同步基础介绍与快速入门之后的实战篇 1.MySQL-To-HDFS 环境 & 准备说明: 描述: 为了快速搭建测试 ...

  6. 达梦数据迁移工具的使用

    作为国产数据库,达梦是比较典型的一种,开发工作中会用到其他数据库表迁移到达梦数据库的问题,在此记录一下迁移方法也为他人提供方便. 该工具仅用于其他数据库表及文本文件迁移达梦,或达梦数据库表迁移到其他数 ...

  7. Sqoop数据迁移工具的使用

    文章作者:foochane 原文链接:https://foochane.cn/article/2019063001.html Sqoop数据迁移工具的使用 sqoop简单介绍 sqoop数据到HDFS ...

  8. datax 定时执行多个job_数据同步神器Datax源码重构

    每日一句永远不要认为我们可以逃避, 我们的每一步都决定着最后的结局, 我们的脚步正在走向我们自己选定的终点.Do not ever think about that we can escape , o ...

  9. 数据迁移工具 - Flyway

    对于数据迁移的概念,相信大家已经都比较熟悉.那么,什么是数据迁移?为什么需要数据迁移?在这里就不再做相关分享啦~.接下来主要分享一下数据迁移工具 Flyway 使用. Flyway is the Ap ...

最新文章

  1. Nginx 进阶 (ssl、fpm、rewrite、cache配置等)
  2. Exception in thread main java.lang.NullPointerException
  3. Counting Bits(Difficulty: Medium)
  4. 【干货】陆奇:新格局下的创业创新机会.pdf(附下载链接)
  5. 什么是hibernate N+1查询
  6. ubuntu下安装宋体simsun
  7. 排队叫号python编程_一种自主选时排队叫号算法
  8. 弘辽科技:淘宝评分飘绿四大原因及快速提高评分之解决技巧
  9. Learn OpenCV之Heatmap
  10. 用 SpriteKit 做一个逃逸游戏 (2)
  11. C# 实现eval,支持任意个数、任意基本类型的参数
  12. bat获取管理员权限运行
  13. 多图详解缓冲区溢出问题
  14. node学习:包package,Buffer缓存和fs文件系统
  15. Android实现制作氢壁纸,氢壁纸怎么制作?氢壁纸制作方法介绍[图]
  16. 如何在网站中添加音乐
  17. linux mysql dengl_linux环境搭建(四)--MYSQL
  18. 推荐系统工程系列(1):浅谈推荐系统架构
  19. 计算机网络实验 —— 验证性实验
  20. C++ Learning 3

热门文章

  1. 微软账号登陆不上_登录微软账号的Windows电脑如何远程?
  2. 用电脑看epub电子书用什么阅读软件好?
  3. Y7000P 2020安装黑苹果教程
  4. python控制手机模拟器_Appium+python自动化23-Android夜神模拟器
  5. 百度AI Studio飞桨平台 “深度学习”结课总结
  6. 关于firefly-rk3288开发板编译uboot的问题
  7. 按颜色分类:青绿色系(Blue Green)
  8. 移动高德地图marker点
  9. Android调建行APP、建行微信遇到的坑
  10. php跳转到qq界面,PHP实现QQ登录的开原理和实现过程