DataX

DataX是阿里巴巴集团内的数据同步工具,支持数据监控、转换、速度控制和容错。其架构基于Framework+plugin,允许Reader/Writer插件进行数据读写。DataX与Flume、Sqoop的区别在于,Flume侧重流式日志采集,而DataX和Sqoop专注于数据同步,DataX提供更简单的配置和更高的同步性能。
摘要由CSDN通过智能技术生成

DataX

简介

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台

优点

1、可靠数据监控(流量、数据量监控)
2、丰富的数据转换功能(数据脱敏)
3、精准的速度控制(通道、记录流、字节流)
4、强劲的同步性能(并发)
5、健壮的容错机制(线程内部/级别重试)
6、极简的使用体验(中文+结果运行报表)

架构设计(DataX3.0)

采用Framework + plugin,将读取数据源端和写入端成为Reader/Writer插件。
执行流程:将一个Job逻辑切分(切片) -> Task -> TaskGroup 默认每个任务组并发量为5

在这里插入图片描述

并发数可以由配置进行设置,但是如果并发数大于任务数,那么配置失效,默认以任务数为并发数

在这里插入图片描述

并发数 / 每个组的并发数 = 组数
总并发数不能大于任务数!

Flume、Sqoop、DataX区别?

Flume是海量日志采集工具,针对于流式日志进行收集传输,也可以采集文件等各种形式的源数据,输出到各大外部存储系统中,是Apache旗下的一个项目;Sqoop和DataX与Flume不同,后两者主要是数据同步工具,一般情况下采集业务数据,Sqoop底层由MapReduce实现,它可以将各种源数据【关系型数据库】【mysql、oracle等】同步到Hadoop生态中的数据库【HDFS、Hive、Hbase】中,底层是通过数据表的元数据生成java实体类,然后经过各种序列化反序列化实现同步;而DataX相比于Sqoop方便太多了,DataX与Sqoop相同,都是数据同步工具,通过DataX简单的参数配置,可以实现一个数据端到另一个数据端的数据同步,数据段可以为市面上各种数据库【mysql、hive、hbase、hdfs等等】。

核心模块

  1. DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来
    完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切
    分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
  2. DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发
    执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作。
  3. 切分多个Task之后,DataX Job会调用Scheduler模块,根据配置的并发数据量,将拆分成的Task
    重新组合,组装成TaskGroup(任务组)。每一个TaskGroup负责以一定的并发运行完毕分配好的所
    有Task,默认单个任务组的并发数量为5。
  4. 每一个Task都由TaskGroup负责启动,Task启动后,会固定启动Reader—>Channel—>Writer的
    线程来完成任务同步工作。
  5. DataX作业运行起来之后, Job监控并等待多个TaskGroup模块任务完成,等待所有TaskGroup任
    务完成后Job成功退出。否则,异常退出,进程退出值非0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值