Datax同步工具简介已以及核心模块介绍

一、简介

  • 概述
    • DataX 是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团被广泛使用的离线数据同步工具/平台。 DataX实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
  • 开源地址
    • https://github.com/alibaba/DataX/
  • 支持的数据库
    类型数据源Reader(读)Writer(写)文档
    RDBMS 关系型数据库MySQL读 、 写
    Oracle读 、写
    OceanBase读 、写
    SQLServer读 、写
    PostgreSQL读 、写
    DRDS读 、写
    Kingbase读 、写
    通用RDBMS(支持所有关系型数据库)读 、写
    阿里云数仓数据存储ODPS读 、写
    ADB
    ADS
    OSS读 、写
    OCS
    Hologres
    AnalyticDB For PostgreSQL
    阿里云中间件datahub读 、写
    SLS读 、写
    图数据库阿里云 GDB读 、写
    Neo4j
    NoSQL数据存储 OTS读 、写
    Hbase0.94读 、写
    Hbase1.1读 、写
    Phoenix4.x读 、写
    Phoenix5.x读 、写
    MongoDB读 、写
    Cassandra读 、写
    数仓数据存储StarRocks读 、写
    ApacheDoris
    ClickHouse读 、写
    Databend
    Hive读 、写
    kudu
    selectdb
    无结构化数据存储TxtFile读 、写
    FTP读 、写
    HDFS读 、写
    Elasticsearch
    时间序列数据库OpenTSDB
    TSDB读 、写
    TDengine读 、写
  • 核心架构
    • DataX开源版本支持单机多线程模式完成同步作业运行,如图:
      在这里插入图片描述

    • 核心模块介绍

      • DataX完成单个数据同步的作业,我们称之JOB,DataX接受一个job之后,将启动一个进程完成整个同步作业。DataX模块是单个作业的中枢管理节点,承担了数据清理、子任务分切(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
      • DataXjob启动后,会根据不同的源端切分策略,将job切分成小的task子任务,以便于并发执行。task是DataX作业的最小单元,每个task会负责一部分数据同步工作。
      • 切分后的task,DataJob 会调用Scheduler模块,会根据并发数据量,将拆分成的Task重新组合,组装成TaskGroup(任务组)。每个TaskGroup负责以完一定并发运行完并分配好的所有Task,默认单任务组并发数量为5。
      • 每一个Task都由TaskGroup负责启动,Task启动后,会固定启动Reader—>Channel---->Writer的线程来完成任务同步工作。
      • DataX作业运行起来后,job监控并等待多个TaskGroup模块任务完成,等待所有TaskGroup任务完成后job成功退出,否则异常退出,进程退出值非0
  • 调度流程
    • 用户提交了一个DataX作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到odps
      • DataXJob启动后将分库分表切分成100个task。
      • DataJob 会调用Scheduler模块,会根据并发数据量切分成4个组,根据组来平分100个task,每个组负责25个task。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值