Azure Databricks流式写入MongoDB Atlas报错,求适配驱动/库
解决Databricks流式写入MongoDB的问题
问题根源
你当前使用的org.mongodb.spark:mongo-spark-connector_2.12:3.0.1版本不支持Spark Structured Streaming写入操作,该版本仅支持批量读写,因此会触发Data source mongo does not support streamed writing错误。
解决方案:升级连接器版本
MongoDB Spark Connector从10.0.x版本起正式支持Spark Structured Streaming写入,且完全适配你的Databricks 14.3 LTS(Spark 3.5.0)环境。
1. 替换依赖版本
将原有连接器依赖替换为适配Spark 3.5.x的稳定版本:
// 适配Spark 3.5.x + Scala 2.12的连接器版本 org.mongodb.spark:mongo-spark-connector_2.12:10.3.1
注:10.x系列连接器兼容MongoDB 5.0、6.0、7.0版本,可根据你的MongoDB服务器版本选择对应适配的连接器版本。
2. 调整流式写入代码
升级连接器后,仅需修改格式标识即可,其余逻辑无需大幅变动:
json_df.writeStream \ .format("mongodb") \ # 新版本需使用"mongodb"作为格式标识,替代旧版的"mongo" .option("uri", mongo_uri) \ .option("database", "test_db") \ .option("collection", "test") \ .outputMode("append") \ .trigger(processingTime="1 minute") \ .start()
3. 关键兼容性说明
- Databricks 14.3 LTS(Spark 3.5.0)完全适配10.x系列MongoDB Spark Connector
- 流式写入仅支持
append输出模式,不支持update或complete模式,这是由MongoDB文档模型特性决定的
额外操作提示
如果使用Databricks内置库管理功能安装连接器,直接搜索MongoDB Spark Connector并选择10.x版本即可完成安装。
内容的提问来源于stack exchange,提问作者Sujeet Chaurasia
相关产品推荐
相关产品推荐

