繁体   English   中英

如何在 Azure Synapse Notebook 中安装用于 Spark 的 MongoDB 连接器?

[英]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 ; W1W2W3 ACKNOWLEDGED UNACKNOWLEDGED 默认值: ACKNOWLEDGED
writeConcern.journal 指定j ,这是一个写入关注选项,用于启用确认数据在磁盘日志上已根据w选项中指定的条件确认的请求。 您可以指定truefalse
writeConcern.wTimeoutMS 指定wTimeoutMS ,这是一个写入关注选项,用于在写入操作超过毫秒数时返回错误。 如果使用此可选设置,则必须指定一个非负整数。

您可以参考 PySpark 代码,它将 CSV 文件读入流,计算移动平均值,并将 结果流式传输到 MongoDB 中。

有用的链接: 配置选项写配置选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM