DataX教程(07)- 图解DataX任务分配及执行流程

简介: DataX教程(07)- 图解DataX任务分配及执行流程

01 引言


通过前面的博文,我们对DataX有了一定的深入了解了:


  • 《DataX教程(01)- 入门》
  • 《DataX教程(02)- IDEA运行DataX完整流程(填完所有的坑)》
  • 《DataX教程(03)- 源码解读(超详细版)
  • 《DataX教程(04)- 配置完整解读》
  • 《DataX教程(05)- DataX Web项目实践》
  • 《DataX教程(06)- DataX调优》


本文主要讲解的是DataX的任务分配以及执行的流程。


02 图解任务分配及执行流程


首先贴上自己整理的一张图:

0d9c86733379481aac58bff25a55ceff.png


主要就是用到了几个类:


  • JobContainer:任务容器
  • Reader:读插件接口
  • Writer:写插件接口
  • JobAssignUtil:任务分配工具类
  • AbstractScheduler:任务调度抽象类
  • TaskGroupContainer:任务组容器


流程简要描述:


  1. 首先在job.json读取job.setting.speed里的配置,有byte、record、channel;
  2. JobContainer会先根据第一步的3个参数算出总通道数;
  3. JobContainer会调用不同的读写插件的split方法来为所有通道分分配任务配置;
  4. 分配好后,JobContainer合并任务配置,使用JobAssignUtil工具类来对所有通道的所有配置进行分组;
  5. 分组后,每个组的每个通道都有分配好的配置了,这个时候使用AbstractScheduler来调度任务;
  6. AbstractScheduler里面有个TaskExcutor内部类,主要用来执行读写线程;
  7. 读写线程里面会调用Reader和Writer插件里面的具体业务方法(init()、prepare()、startWriter()、post())。


具体的详细描述,只要点大流程图就一目了然了。


03 文末


通过前面几篇博客的学习,基本把DataX读了一遍了,如有疑问,欢迎各位同学提出,


本文完!


目录
相关文章
|
数据采集 分布式计算 监控
DataX教程(03)- 源码解读(超详细版)
DataX教程(03)- 源码解读(超详细版)
4367 0
DataX教程(03)- 源码解读(超详细版)
|
SQL 数据可视化 关系型数据库
DataX教程(05)- DataX Web项目实践
DataX教程(05)- DataX Web项目实践
5514 0
DataX教程(05)- DataX Web项目实践
|
分布式计算 Oracle NoSQL
DataX教程(01)- 入门
DataX教程(01)- 入门
9466 0
DataX教程(01)- 入门
|
监控 调度 DataX
DataX教程(08)- 监控与汇报
DataX教程(08)- 监控与汇报
1478 0
DataX教程(08)- 监控与汇报
|
监控 DataX
DataX教程(09)- DataX是如何做到限速的?
DataX教程(09)- DataX是如何做到限速的?
1149 0
DataX教程(09)- DataX是如何做到限速的?
|
存储 NoSQL 关系型数据库
阿里DataX极简教程
【5月更文挑战第1天】DataX是一个高效的数据同步工具,用于在各种数据源之间迁移数据,如MySQL到另一个MySQL或MongoDB。它的工作流程包括read、write和setting步骤,通过Framework协调多线程处理。其核心架构包括Job、Task和TaskGroup,支持并发执行。DataX支持多种数据源,如RDBMS、阿里云数仓、NoSQL和无结构化数据存储。例如,从MySQL读取数据并同步到ClickHouse的实践操作包括下载DataX、配置任务文件和执行同步任务。
3376 1
阿里DataX极简教程
|
分布式计算 DataX MaxCompute
DataX使用指南——ODPS to ODPS
1. DataX是什么 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。
49730 2
|
Java 关系型数据库 MySQL
DataX教程(10)- DataX插件热插拔原理
DataX教程(10)- DataX插件热插拔原理
1484 0
|
存储 分布式计算 NoSQL
DataX深度剖析:解读数据传输工具的设计理念与架构特点
DataX深度剖析:解读数据传输工具的设计理念与架构特点
1678 5
DataX深度剖析:解读数据传输工具的设计理念与架构特点
|
存储 监控 关系型数据库
DataX 概述、部署、数据同步运用示例
DataX是阿里巴巴开源的离线数据同步工具,支持多种数据源之间的高效传输。其特点是多数据源支持、可扩展性、灵活配置、高效传输、任务调度监控和活跃的开源社区支持。DataX通过Reader和Writer插件实现数据源的读取和写入,采用Framework+plugin架构。部署简单,解压即可用。示例展示了如何配置DataX同步MySQL到HDFS,并提供了速度和内存优化建议。此外,还解决了NULL值同步问题及配置文件变量传参的方法。
10074 5