数据同步工具之DataX理论
一、DataX概述
- DataX是开源的异构数据源离线同步工具,可以实现MySQL、Oracle等、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
二、DataX可支持的数据源
- DataX目前已具备比较全面的插件体系,主流的RDBMS数据库、NoSQL、大数据计算系统都已接入,目前可支持的数据如下图所示:
类型 | 数据源 | Reader(读) | Writer(写) |
---|---|---|---|
RDBMS关系型数据库 | MySQL | √ | √ |
RDBMS关系型数据库 | Oracle | √ | √ |
RDBMS关系型数据库 | SQLServer | √ | √ |
RDBMS关系型数据库 | PostgreSQL | √ | √ |
NoSQL数据存储 | HBase0.94 | √ | √ |
NoSQL数据存储 | HBase1.1 | √ | √ |
NoSQL数据存储 | MongoDB | √ | √ |
NoSQL数据存储 | Hive | √ | √ |
无结构化数据存储 | TxtFile | √ | √ |
无结构化数据存储 | FTP | √ | √ |
无结构化数据存储 | HDFS | √ | √ |
无结构化数据存储 | Elasticsearch | √ |
三、DataX架构原理
DataX设计理念
DataX框架设计
(1)Reader:数据采集模块,负责采集数据源的数据,将数据发送给Framework。
(2)Writer:数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
(3)Framework:用于连接Reader和Writer,作为两者的数据传输通道,并处理缓冲、流控、并发、数据转换等核心技术问题。DataX运行流程
下边就来看一下DataX生命周期时序图:
(1)Job:单个数据同步的作业,称为一个Job,一个Job启动一个进程。
(2)Task:根据不同数据源的切分策略,一个Job会切分为多个Task,Task是DataX作业的最小单元,每个Task负责一部分数据的同步工作。
(3)TaskGroup:Scheduler调度模块会对Task进行分组,每个Task组称为一个Task Group。每个Task Group负责一定的并发度运行其所分得的Task,单个Task Group的并发度为5。
(4)Reader -> Channel -> Writer:每个Task启动后,都会固定启动Reader -> Channel -> Writer的线程来完成同步工作。DataX调度决策思路
(1)需求说明:
用户现在提交一个DataX作业,并且配置了总的并发度为20,目的是对有100张分表的MySQL数据源进行同步。
(2)DataX调度决策思路是:
1)DataX的Job会根据分库分表切分策略,将同步工作分成100个Task。
2)根据配置的总并发度为20,以及每个TaskGroup的默认并发度为5,DataX计算共需要分配4个Task Group。
3)4个Task Group平分100个Task,每个Task Group负责运行25个Task。DataX与Sqoop对比
功能 | DataX | Sqoop |
---|---|---|
运行模式 | 单进程多线程 | MR |
分布式 | 不支持,可以通过调度系统来规避 | 支持 |
流控 | 有流控功能 | 需要定制 |
统计信息 | 已有一些统计,上报需定制 | 没有,分布式的数据收集不方便 |
数据校验 | 在core部分有校验功能 | 没有,分布式的数据收集不方便 |
监控 | 需要定制 | 需要定制 |
数据同步工具之DataX理论相关推荐
- 数据同步工具之DataX实操
一.DataX部署 上传DataX压缩文件至/opt/software/目录下,并解压文件至/opt/module/下. 自测检查DataX,出现如下截图内容,说明安装成功 二.DataX使用 Dat ...
- DataX离线数据同步工具/平台
DataX离线数据同步工具/平台 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.SQL Server.Oracle.PostgreSQL.HDFS.Hive.O ...
- 高效数据同步工具DataX的使用
一.DataX 简介 DataX 是阿里云 DataWorks 数据集成 的开源版本,主要就是用于实现数据间的离线同步. DataX 致力于实现包括关系型数据库(MySQL.Oracle 等).HDF ...
- 数据同步工具—DataX 初识
DataX 初识 DataX 是阿里云 DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台.DataX 实现了包括 MySQL.Oracle.OceanBase. ...
- 异构数据库数据同步工具DataX教程,安装、数据同步、java执行
前言 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlServer.Postgre.HDFS.Hive.ADS.HBase.TableStor ...
- 开源oracle同步图形工具,阿里开源数据同步工具--DataX
阿里开源数据同步工具--DataX 是啥?: 是异构数据源离线同步工具 能干啥?: 能够将MySQL sqlServer Oracle Hive HBase FTP 之间进行稳定高效的数据同步. 设 ...
- 离线数据同步神器:DataX,支持几乎所有异构数据源的离线同步到MaxCompute
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlSer ...
- ETL的数据同步工具调研(持续更新中)
扯白了,数据同步工具就是"导数据 "的 名称 社区响应 国内使用情况(以前程无忧为参考) SQOOP 更新缓慢,对于hbase2.x以上版本使用时需要老版本的jar包 9页 Dat ...
- datax 持续数据同步_采用DataX实现多表增量数据同步
这两天验证了一下阿里的DataX数据同步工具,觉得DataX可以用来做管理数据的多级数据同步.DataX用来做批量数据迁移很适合,能够保证数据的一致性,性能也很好,结合时间戳字段,用来实现数据定时增量 ...
- 数据同步工具Sqoop
大数据Hadoop之--数据同步工具Sqoop Sqoop基本原理及常用方法 1 概述 Apache Sqoop(SQL-to-Hadoop)项目旨在协助RDBMS(Relational Databa ...
最新文章
- python第三方库安装-python的第三方库安装
- Android SDK Manager国内无法更新的解决方案
- 基于PSO的运输优化算法的MATLAB仿真
- fuse java_java中的Fuse文件系统 - JVM错误双重免费或损坏
- Spark on k8s提交测试任务失败报错解决办法:User “system:serviceaccount:default:default“ cannot get resource “pods
- CF1491H Yuezheng Ling and Dynamic Tree(分块)
- Win10的远程桌面
- 关于java中 get提交方式的乱码问题。
- python多分类画roc曲线_利用python制作ROC曲线进行多分类
- 95 后程序员一出校门就拿年薪 32 万?
- 解决Gerrit的git unpack error问题
- UOS开启开发者模式
- 物业管理系统定制开发流程
- pr如何跳到关键帧_必收藏的PR常用快捷键大全
- java怎么比较两个list是否相同?
- 【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册
- 一个新技术与传统产业开始越来越深入融合的发展新趋势
- 什么是环境变量?为什么要配置环境变量
- [书目20141024]王正良硬笔书法教学
- vue中watch的初次监听和深度监听