首页 > 其他分享 >DataX概述

DataX概述

时间:2023-03-14 10:46:59浏览次数:45  
标签:Task 数据源 TaskGroup 同步 概述 DataX 数据

管网地址:https://github.com/alibaba/DataX

第一章 概述

1.1 什么是DataX

     DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。

 

 1.2 DataX的设计

  为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。

 

设计理念:插件式

 1.3 支持的数据源

  DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据

 

 

 1.4 框架设计

 

Reader:数据采集模块,负责采集数据源的数据,将数据发送给Framework。

Writer:数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。

Framework:用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

1.5 运行原理

 

 Job:单个作业的管理节点,负责数据清理、子任务划分、TaskGroup监控管理。

Task:由Job切分而来,是DataX作业的最小单元,每个Task负责一部分数据的同步工作。

Schedule:将Task组成TaskGroup,单个TaskGroup的并发数量为5。

TaskGroup:负责启动Task。

举例来说,用户提交了一个DataX作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到odps里面。DataX的调度决策思路是:

1)DataXJob根据分库分表切分成了100个Task。

2)根据20个并发,DataX计算共需要分配4个TaskGroup。

3)4个TaskGroup平分切分好的100个Task,每一个TaskGroup负责以5个并发共计运行25个Task。

1.6 与Sqoop的对比

功能 DataX Sqoop
运行模式 单进程多线程 MR
MySQL

单机压力大;

读写粒度容易控制;

MR模式重,写出错处理麻烦
Hive读写 单机压力大 很好
文件格式 orc支持 orc不支持,可添加
分布式 不支持,可以通过调度系统规避 支持
流控 有流控(限速)功能 需要定制
统计信息 已有一些统计,上报需定制 没有,分布式的数据收集不方便
数据校验 在core部分有校验功能 没有,分布式的数据收集不方便
监控 需要定制 需要定制
社区 开源不久,社区不活跃 一直活跃,核心部分变动很少

 

标签:Task,数据源,TaskGroup,同步,概述,DataX,数据
From: https://www.cnblogs.com/ckfuture/p/17214037.html

相关文章

  • Kubernetes概述
    Kubernetes概述Kubernetes简介      Kubernetes是Google2014年创建的一款开源的容器编排管理工具,是Google10多年大规模容器管理技术Borg的开源版本。它是容器集群......
  • 3.datax-web搭建
    1.路径mkdir/home/datax-webcd/home/datax-web 2.下载https://github.com/WeiYe-Jing/datax-web 3.解压tar-zxvfdatax-web-2.1.2.tar.gzmvdatax-web-2.1.2......
  • 1.datax条件安装JDK,MAVEN,Datax
    环境:jdk1.8mysql5.7mavenpython3如果是python3需要替换文件(自己阿里云盘)「datax和datax-web及datax_python3替换文件」https://www.aliyundrive.com/s/2FbhHGQvBW6......
  • 2.datax条件python3.6安装
    一.安装python3.6.11.安装依赖环境(必须安装否则会出现python3编译器中不能使用退格键和方向键)yuminstallreadline-develgccmakepatchgdbm-developenssl-develsql......
  • 8.crontab+datax定时执行同步任务
    #添加定时任务crontab-e#每天23点50分执行sh脚本5023***/opt/datax/sync_gym_course_add.sh#每隔30分钟执行sh脚本*/30****/opt/datax/sync_gym_course_add.......
  • 非线性优化问题基本形式概述
    非线性优化问题以及在视觉SLAM中的应用1.0最小二乘基础概念定义\(\quad\)找到一个n维的变量\(\mathbf{x}^{*}\in\mathbb{R}^{n}\),使得损失函数\(F(\ma......
  • WINNER II信道模型与WINNER+信道模型概述
    目录1.WINNERII2.WINNER+目前信道模型主要分为准确信道模型、随机信道模型、统计信道模型。其中随机信道模型集和其他两种模型的优点,成为主流的信道模型。随机模型中......
  • 韩顺平java学习笔记——概述
    Java执行流程分析Java文件(源文件)—javac编译->.class文件(字节码文件)--java运行->结果什么是编译Javachello.java1、 有了java源文件,通过编译器将其变异成JVM可以......
  • MES系统概述
    1.MES是什么生产制造执行系统(ManufacturingExecutionSystem,MES)定义如下:MES能通过信息传递对从订单下达到产品完成的整个生产过程进行优化管理。当工厂发生实时事件时,M......
  • 二、分布式文件系统概述
    ​ 1分类1.1通用分布式文件系统​和传统的本地文件系统(如ext3、NTFS等)相对应。典型代表:lustre、MooseFS1.1.1优点​标准文件系统操作方式,对开发者门槛较低1.1.......