[英]How to install MongoDB Connector for Spark in Azure Synapse Notebook?
我想在 Azure Synapse 中安装 MongoDB Spark 连接器,因此我可以在我的笔记本中编写如下代码:
df = spark.read.format("mongodb").option("spark.synapse.linkedService", "MongoDB_MyCollection").load()
目前这失败说“找不到数据源:mongodb”
MongoDB Spark 连接器的入门指南说我应该在调用./bin/pyspark
时使用--packages org.mongodb.spark:mongo-spark-connector:10.0.2
标志,但我在 Azure Synapse Notebooks 中运行 PySpark 代码,所以我自己不调用./bin/pyspark
。
问题 - 在 Azure Synapse 中运行时,如何安装 MongoDB Connector for Spark?
MongoDB 连接器10.x 版是基于最新 Spark API 的全新连接器。 版本 10.x 使用新的命名空间:
com.mongodb.spark.sql.connector.MongoTableProvider
有各种可用的配置选项。 以下选项可用于写入 MongoDB:
注意:如果您使用SparkConf
设置连接器的写入配置, spark.mongodb.write.
到每个属性。
属性名称 | 描述 |
---|---|
mongoClientFactory |
MongoClientFactory 配置键。 您可以指定一个必须实现com.mongodb.spark.sql.connector.connection.MongoClientFactory 接口的自定义实现。 默认值: com.mongodb.spark.sql.connector.connection.DefaultMongoClientFactory |
connection.uri |
必填。 连接字符串配置键。 默认值: mongodb://localhost:27017/ |
database |
必填。 数据库名称配置。 |
collection |
必填。 集合名称配置。 |
maxBatchSize |
指定批量操作批处理的最大操作数。 默认值: 512 |
ordered |
指定是否执行有序批量操作。 默认值: true |
operationType |
指定要执行的写操作的类型。 您可以将其设置为以下值之一: insert :插入数据。 replace :用新数据替换与idFieldList 值匹配的现有文档,如果不存在匹配则插入数据。 update :使用新数据更新与idFieldList 值匹配的现有文档,如果不存在匹配则插入数据。 默认值: replace |
idFieldList |
用于标识文档的字段或逗号分隔字段列表。 默认值: _id |
writeConcern.w |
指定w ,一个写入关注选项,用于确认更改在 MongoDB 副本集中传播到的级别。 您可以指定以下值之一: MAJORITY ; W1 、 W2 或W3 ; ACKNOWLEDGED ; UNACKNOWLEDGED 。 默认值: ACKNOWLEDGED |
writeConcern.journal |
指定j ,这是一个写入关注选项,用于启用确认数据在磁盘日志上已根据w 选项中指定的条件确认的请求。 您可以指定true 或false 。 |
writeConcern.wTimeoutMS |
指定wTimeoutMS ,这是一个写入关注选项,用于在写入操作超过毫秒数时返回错误。 如果使用此可选设置,则必须指定一个非负整数。 |
您可以参考 PySpark 代码,它将 CSV 文件读入流,计算移动平均值,并将 结果流式传输到 MongoDB 中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.