批量写入配置选项
本页面内容
概述
在批量模式下向MongoDB写入数据时,可以配置以下属性。
注意
如果使用SparkConf
设置连接器的写入配置,请将前缀 spark.mongodb.write.
添加到每个属性。
属性名称 | 描述 | |
---|---|---|
connection.uri | 必需。 连接字符串配置键。 默认值: mongodb://localhost:27017/ | |
database | 必需。 数据库名配置。 | |
collection | 必需。 集合名配置。 | |
comment | ||
mongoClientFactory | MongoClientFactory 配置键。 您可以选择一个必须实现 com.mongodb.spark.sql.connector.connection.MongoClientFactory 接口的自定义实现。默认值: com.mongodb.spark.sql.connector.connection.DefaultMongoClientFactory | |
convertJson | 指定连接器是否解析字符串并将扩展 JSON 转换为 BSON。 此设置接受以下值
默认值: false | |
idFieldList | 通过哪些字段拆分集合数据的字段或字段列表。要指定多个字段,请使用逗号将它们分开,如下例所示
默认值: _id | |
ignoreNullValues | 当 true 时,连接器在写入时忽略任何 null 值,包括数组中嵌套文档的 null 值。默认值: false | |
maxBatchSize | 指定批量操作中批量的最大操作数。 默认值: 512 | |
operationType | 指定要执行的写入操作类型。您可以将其设置为以下值之一
默认值: replace | |
ordered | 指定是否执行有序的批量操作。 默认值: true | |
upsertDocument | 当 true 时,如果不存在匹配项,则替换和更新操作将插入数据。对于时序集合,必须将 upsertDocument 设置为false 。默认值: true | |
writeConcern.journal | 指定 j ,这是一个写关注选项,用于请求确认数据已根据w 选项中指定的标准确认在磁盘日志上。您可以选择指定true 或false 。有关 j 值的更多信息,请参阅MongoDB服务器指南中的WriteConcern j选项。 | |
writeConcern.w | ||
writeConcern.wTimeoutMS | 指定 wTimeoutMS ,这是一个写关注选项,当写操作超过指定的毫秒数时返回错误。如果您使用此可选设置,则必须指定一个非负整数。有关 wTimeoutMS 值的更多信息,请参阅MongoDB服务器指南中的WriteConcern wtimeout选项。 |
在connection.uri
中指定属性
如果使用SparkConf要指定任何上述设置,您可以在connection.uri
设置中包含它们或单独列出。
以下代码示例展示了如何将数据库、集合和convertJson
设置作为connection.uri
设置的一部分进行指定
spark.mongodb.write.connection.uri=mongodb://127.0.0.1/myDB.myCollection?convertJson=any
为了使connection.uri
更短,并使设置更容易阅读,您可以单独指定它们
spark.mongodb.write.connection.uri=mongodb://127.0.0.1/ spark.mongodb.write.database=myDB spark.mongodb.write.collection=myCollection spark.mongodb.write.convertJson=any
重要
如果在connection.uri
以及单独的一行中指定了相同的设置,则connection.uri
设置将具有优先权。例如,在以下配置中,连接数据库为foobar
spark.mongodb.write.connection.uri=mongodb://127.0.0.1/foobar spark.mongodb.write.database=bar