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 de streaming

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

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

The comment to append to the write operation. Comments appear in the output of the Database Profiler.

Default: None

mongoClientFactory

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

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 uma lista de campos pelos quais dividir os dados da coleção. Para especificar múltiplos campos, separe-os com vírgula, como no exemplo abaixo:

"fieldName1,fieldName2"

Padrão: _id

ignoreNullValues

Quando true, o conector ignora quaisquer valores null ao gravar, incluindo valores de null em array e documentos aninhados.

Padrão: false

maxBatchSize

Especifica o número máximo de operações para 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 devem ser executadas operações em massa ordenadas.

Padrão: true

upsertDocument

Quando true, as operações de substituição e atualização inserem os dados se não houver correspondência.

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

Padrão: true

writeConcern.w

Specifies w, a write-concern option requesting acknowledgment that the write operation has propagated to a specified number of MongoDB nodes.

For a list of allowed values for this option, see WriteConcern w Option in the MongoDB Server manual.

Default: Acknowledged

writeConcern.journal

Specifies j, a write-concern option requesting acknowledgment that the data has been written to the on-disk journal for the criteria specified in the w option. You can specify either true or false.

For more information on j values, see WriteConcern j Option in the MongoDB Server manual.

writeConcern.wTimeoutMS

Specifies wTimeoutMS, a write-concern option to return an error when a write operation exceeds the specified number of milliseconds. If you use this optional setting, you must specify a nonnegative integer.

For more information on wTimeoutMS values, see WriteConcern wtimeout in the MongoDB Server manual.

checkpointLocation

O caminho absoluto do arquivo do diretório onde o conector grava as informações do checkpoint.

Para obter mais informações sobre checkpoint, consulte o Guia de programação de streaming estruturado do Spark

Padrão: Nenhum

forceDeleteTempCheckpointLocation

Um valor booleano que especifica se os dados de checkpoint existentes devem ser excluídos.

Padrão: false

truncateMode

Especifica como truncar uma coleção ao executar uma substituição. Você pode definir esta opção para um dos seguintes valores:

  • TruncateMode.DROP: Padrão. Descarta a coleção.

  • TruncateMode.TRUNCATE: exclui todas as entradas na coleção, mas preserva índices, opções de coleção e qualquer configuração de fragmentação. Isso é mais lento do que uma operação de descartar.

ignoreDuplicatesOnInsert

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

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