Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Opções de configuração de gravação em lote

Você pode configurar as seguintes propriedades ao gravar dados no MongoDB no modo de lote.

Observação

Se você usar SparkConf para definir as configurações de gravação do conector, insira spark.mongodb.write. como prefixo em cada propriedade.

Nome da propriedade
Descrição

connection.uri

Obrigatório.
A chave de

configuração da string de conexão . Padrão: mongodb://localhost:27017/

database

Obrigatório.
A configuração do nome do banco de dados.

collection

Obrigatório.
A configuração do nome da coleção.

comment

O comentário a ser anexado à operação de escrita. Os comentários aparecem na saída do Analisador de banco de dados.

Padrão: nenhum

mongoClientFactory

Chave de configuração MongoClientFactory.
Você pode especificar uma implementação personalizada que deve implementar a com.mongodb.spark.sql.connector.connection.MongoClientFactory interface.

Padrão: com.mongodb.spark.sql.connector.connection.DefaultMongoClientFactory

convertJson

Especifica se o conector analisa valores de string e converte JSON estendido em BSON.

Esta configuração aceita os seguintes valores:

  • any: o conector converte todos os valores JSON em BSON.

    • "{a: 1}" torna-se {a: 1}.

    • "[1, 2, 3]" torna-se [1, 2, 3].

    • "true" torna-se true.

    • "01234" torna-se 1234.

    • "{a:b:c}" não se altera.

  • objectOrArrayOnly: o conector converte apenas objetos e matrizes JSON em BSON.

    • "{a: 1}" torna-se {a: 1}.

    • "[1, 2, 3]" torna-se [1, 2, 3].

    • "true" não se altera.

    • "01234" não se altera.

    • "{a:b:c}" não se altera.

  • false: o conector converte todos os valores em strings.

Padrão: false

idFieldList

Especifica um campo ou lista de campos para divisão os dados da collection. Para especificar mais de um campo, separe-os usando uma vírgula , conforme mostrado no exemplo a seguir :

"fieldName1,fieldName2"

Padrão: _id

ignoreNullValues

trueQuando, o conector ignora quaisquer null valores ao escrever, incluindo null valores em arrays e documentos aninhados.

Padrão: false

maxBatchSize

Especifica o número máximo de operações em lote em operações em massa.

Padrão: 512

operationType

Especifica o tipo de operação de gravação a ser executada. Você pode definir isso como um dos valores a seguir:

  • insert: insere os dados.

  • replace: substitui um documento existente que corresponda ao valor idFieldList inserindo os novos dados. Se não houver correspondência, o valor de upsertDocument indica se um novo documento é inserido pelo conector.

  • update: atualiza um documento existente que corresponda ao valor idFieldList inserindo os novos dados. Se não houver correspondência, o valor de upsertDocument indica se um novo documento é inserido pelo conector.


Padrão: replace

ordered

Especifica se as operações ordenadas em massa devem ser executadas.

Padrão: true

upsertDocument

Quando,true substitua e atualize as operações insira os dados se não existir correspondência.

Para coleções de séries temporais, você deve upsertDocument definir false como.

Padrão: true

writeConcern.w

wEspecifica, uma opção de preocupação de gravação solicitando confirmação de que a operação de gravação se propagou para um número específico de nós do MongoDB .

Para obter uma lista de valores permitidos para esta opção, consulte Opção WriteConcern w no manual do MongoDB Server .

Padrão: Acknowledged

writeConcern.journal

Especifica, uma opção de write concern que solicita confirmação de que os dados foram gravados no diário em disco de acordo com os critérios especificados na j w opção. Você pode especificar true falseou.

Para obter mais informações sobre j os valores, consulte Opção WriteConcern j no manual do MongoDB Server .

writeConcern.wTimeoutMS

Especifica wTimeoutMS o, uma opção de preocupação de gravação para retornar um erro quando uma operação de gravação exceder o número especificado de milissegundos. Se você usar essa configuração opcional, deverá especificar um número inteiro não negativo.

Para obter mais informações sobre wTimeoutMS os valores, consulte WriteConcern wtimeout no manual do MongoDB Server .

ignoreDuplicatesOnInsert

Quando definido true para, o conector ignora erros de chave duplicados ao executar operações de inserção não ordenadas. Os dados que estão sendo inseridos devem incluir um _id valor de campo ou quaisquer campos especificados na idFieldList opção.

Padrão: false

Se você usa SparkConf para especificar qualquer uma das configurações anteriores, você poderá incluí-las na configuração do connection.uri ou listá-las individualmente.

O exemplo de código a seguir mostra como especificar o banco de dados, a coleção e a configuração convertJson como parte da configuração connection.uri:

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/myDB.myCollection?convertJson=any

Para manter o connection.uri curto e facilitar a leitura das configurações, você pode especificá-las individualmente:

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

Importante

Se você especificar uma configuração em connection.uri e em sua própria linha, a configuração connection.uri terá precedência. Por exemplo, na configuração abaixo, o banco de dados de conexão é foobar:

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/foobar
spark.mongodb.write.database=bar