DataX doriswriter

DataX (opens new window)doriswriter 插件,用于通过 DataX 同步其他数据源的数据到 Doris 中。

这个插件是利用Doris的Stream Load 功能进行数据导入的。需要配合 DataX 服务一起使用。

关于 DataX

DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数据源之间高效的数据同步功能。

更多信息请参阅: https://github.com/alibaba/DataX/

使用手册

DataX doriswriter 插件代码 这里 (opens new window)。

这个目录包含插件代码以及 DataX 项目的开发环境。

doriswriter 插件依赖的 DataX 代码中的一些模块。而这些模块并没有在 Maven 官方仓库中。所以我们在开发 doriswriter 插件时,需要下载完整的 DataX 代码库,才能进行插件的编译和开发。

目录结构

doriswriter/

这个目录是 doriswriter 插件的代码目录。这个目录中的所有代码,都托管在 Apache Doris 的代码库中。

doriswriter 插件帮助文档在这里:doriswriter/doc

init-env.sh

这个脚本主要用于构建 DataX 开发环境,他主要进行了以下操作:

将 DataX 代码库 clone 到本地。

将 doriswriter/ 目录软链到 DataX/doriswriter 目录。

在 DataX/pom.xml 文件中添加 doriswriter 模块。

将 DataX/core/pom.xml 文件中的 httpclient 版本从 4.5 改为 4.5.13.

httpclient v4.5 在处理 307 转发时有bug。

这个脚本执行后,开发者就可以进入 DataX/ 目录开始开发或编译了。因为做了软链,所以任何对 DataX/doriswriter 目录中文件的修改,都会反映到 doriswriter/ 目录中,方便开发者提交代码。

编译

运行 init-env.sh

按需修改 DataX/doriswriter 中的代码。

编译 doriswriter:

单独编译 doriswriter 插件:

mvn clean install -pl plugin-rdbms-util,doriswriter -DskipTests

编译整个 DataX 项目:

mvn package assembly:assembly -Dmaven.test.skip=true

产出在 target/datax/datax/.

hdfsreader, hdfswriter and oscarwriter 这三个插件需要额外的jar包。如果你并不需要这些插件,可以在 DataX/pom.xml 中删除这些插件的模块。

编译错误

如遇到如下编译错误:

Could not find artifact com.alibaba.datax:datax-all:pom:0.0.1-SNAPSHOT …
可尝试以下方式解决:

下载 alibaba-datax-maven-m2-20210928.tar.gz(opens new window)
解压后,将得到的 alibaba/datax/ 目录,拷贝到所使用的 maven 对应的 .m2/repository/com/alibaba/ 下。
再次尝试编译。
按需提交修改。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐