当前位置: 首页 > news >正文

datax编译:解决datax不支持MongoDB 6.0.10的问题

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

http://www.mrgr.cn/news/17610.html

相关文章:

  • 新能源汽车超级电容和电池能量管理系统的simulink建模与仿真
  • python从谷歌地图获取经纬度坐标之间的导航信息
  • GIT版本管理详解
  • 【STM32】通用定时器TIM(输入捕获)
  • 高级C#开发者的 ADO.NET 数据库操作工具类深入解析与实战
  • 【python2C】排序算法
  • Spring的简单介绍
  • 数据结构-c/c++实现队列(链表实现)
  • HTTP 协议详解
  • Java基础面试题(四)
  • 程序员抑郁预防与缓解中的宗教应用
  • SoM的理解
  • XSS 漏洞 - 学习手册
  • Yarn的三种调度器之间的区别
  • Java | Leetcode Java题解之第390题消除游戏
  • 地震模板代码 - 第三部分
  • 堆是分配对象存储的唯一选择么?
  • Lesson08---string类(1)
  • Android 10.0 mtk平板camera2横屏预览旋转90度功能实现
  • .NET 环境中的数据库交互OLE DB与SqlClient