1. 首页
  2. 编程语言
  3. Java
  4. 关于通过java调用datax,返回任务执行的方法

关于通过java调用datax,返回任务执行的方法

上传者: 2021-05-25 02:11:57上传 PDF文件 127.85 KB 热度 49次

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore、MaxCompute、DRDS 等各种异构数据源之间高效的数据同步功能。请参考 因为业务需要,需要使用到datax把数据从文本写入到数据库,原来的做法都是使用python通过datax.py去调用脚本,阿文为了能更好的管控datax的任务,阿文要求我们对datax进行改造,使用java集成的方式去调用datax,并返回任务执行的详细信息。从github下完源码开始改造,datax的启动类在datax-core包下Engine类的entry方法,该方法是一个静态方法。里面最后通过调用engine.start 开始启动,我们点进去,最后会发现在里面是调用JobContainer 的start() 方法。而我们需要的任务信息就在this.logStatistics() 中新增返回实体DataxResult 重写logStatistics方法,返回该实体。还需要重写JobContainer的**start()**方法。

用户评论