DataX源码分析
文章平均质量分 78
本专栏记录自己阅读DataX的一些笔记
E等于MC平方
这个作者很懒,什么都没留下…
展开
-
datax源码解析-任务调度机制解析
任务调度阶段总结起来做的事情其实就是,把前一个阶段拆分出来的task,按照一定的规则进行分组(taskGroup),然后每组单独分配独立的线程进行调度处理。原创 2021-12-18 21:21:42 · 1139 阅读 · 0 评论 -
datax源码解析-任务拆分机制详解
DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作原创 2021-12-16 09:25:58 · 3529 阅读 · 1 评论 -
datax源码解析-datax的hook机制解析
datax提供了一种`Hook`机制,可以在执行完核心逻辑后触发一个开发者自己定义的逻辑。实现的原理是利用了java SPI机制,datax定义了一个`Hook`接口,开发者实现这个接口。通过interface寻找implement的方法原创 2021-12-15 09:46:59 · 1749 阅读 · 0 评论 -
datax源码解析-JobContainer的初始化阶段解析
它返回一个是一个自定义的类加载器JarLoader,根据java类加载器的原理我们知道,`JarLoader`是Application ClassLoader的子类。DataX通过Thread.currentThread().setContextClassLoader在每次对插件调用前后的进行classLoader的切换实现jar隔离的加载机制。原创 2021-12-12 17:57:29 · 1125 阅读 · 0 评论 -
datax源码解析-启动类分析
datax的启动类是程序运行的入口,这里也有很多值得我们学习的地方!原创 2021-12-11 20:50:41 · 1339 阅读 · 0 评论 -
datax和canal对比
datax和canal对比文章目录datax和canal对比前言功能简介对比dataxcanal前言datax和canal都是阿里巴巴开开源的数据同步组件/工具,但是二者在功能架构、使用场景上又有些区别。我刚接触到这两个组件的时候,经常混淆他们,不太能分清楚他们各自的使用场景。今天这篇文章就打算彻底对比下两者的共同点和差异。功能简介DataX 是阿里巴巴开源的离线数据同步工具/平台,内置实现了包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase原创 2021-08-08 21:44:48 · 11522 阅读 · 0 评论 -
datax的启动文体datax.py解析
datax生产环境启动运行是通过datax.py启动的,如下:$ python datax.py job/{YOUR_JOB.json}这篇文章就是打算解读下datax.py这个源码。我们从main函数开始,沿着程序的执行流程慢慢解读。if __name__ == "__main__": printCopyright() //打印版权信息 parser = getOptionParser() //获取参数解析器 options, args = parser.par原创 2021-08-07 12:50:57 · 3131 阅读 · 0 评论 -
datax源码环境搭建
文章目录datax源码环境搭建写在前面环境下载源码并编译错误1错误2运行生产模式debug模式datax源码环境搭建写在前面DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。我最近打算花点时间,深度研究下DataX的源码。按照我以前看源码的经验,我一般都会在本地搭建好调试环境,通过debug的方式调试。环境这里是说原创 2021-08-01 20:09:17 · 3275 阅读 · 1 评论