1. 需求及问题
最近使用datax同步MongoDB中的数据到hive,使用了mongodbreader和hdfswriter插件。MongoDB的版本是6.0.10,而datax的默认编译安装包中mongodbreader插件不支持MongoDB 6.0.10。
DataX工具介绍数据同步工具之DataX-CSDN博客
官方地址 https://github.com/alibaba/DataX
查看源码可以发现,mongo-java-driver的版本是3.2.2
关于驱动版本的兼容性,看如下对照图:
或者到官方查看 Compatibility — Java Sync
选择具体的版本,可以查看repo:Central Repository: org/mongodb/mongo-java-driver
最终我选择了mongo-java-driver 3.12.13版本。
2. 源码编译
配置修改完之后,开始进行DataX源码编译,按照官方的要求:
- Linux
- JDK(1.8以上,推荐1.8)
- Python(2或3都可以)
- Apache Maven 3.x (Compile DataX)
2.1 源码下载
这里使用的是datax_v202309分支,下载地址:https://github.com/alibaba/DataX/releases/tag/datax_v202309
2.2 配置修改
(1)修改mongodbreader/pom.xml和mongodbwriter/pom.xml配置文件:
<!-- mongodb 依赖 -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.13</version>
</dependency>
<dependency>
(2)修改hdfsreader/pom.xml配置文件:
<dependency>
<groupId>org.apache.parquet</groupId>
<artifactId>parquet-format</artifactId>
<version&g