Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Opciones de configuración de guardado en transmisión

Puedes configurar las siguientes propiedades al escribir datos en MongoDB en modo de transmisión.

Nota

Si usas SparkConf para configurar las opciones de escritura del conector, añade el prefijo spark.mongodb.write. a cada propiedad.

Nombre de la propiedad
Descripción

connection.uri

Requerido.
La clave de configuración de la cadena de conexión.

Por defecto: mongodb://localhost:27017/

database

Requerido.
La configuración del nombre de la base de datos.

collection

Requerido.
La configuración del nombre de la colección.

comment

El comentario que se agregará a la operación de guardar. Los comentarios aparecen en la salida del perfilador de base de datos.

Por defecto: ninguno

mongoClientFactory

Clave de configuración de MongoClientFactory.
Puede especificar una implementación personalizada que debe implementar la interfaz com.mongodb.spark.sql.connector.connection.MongoClientFactory.

Por defecto: com.mongodb.spark.sql.connector.connection.DefaultMongoClientFactory

convertJson

Especifica si el conector analiza los valores de string y convierte JSON extendido en BSON.

Esta configuración acepta los siguientes valores:

  • any: El conector convierte todos los valores JSON a BSON.

    • "{a: 1}" se vuelve {a: 1}.

    • "[1, 2, 3]" se vuelve [1, 2, 3].

    • "true" se vuelve true.

    • "01234" se vuelve 1234.

    • "{a:b:c}" no cambia.

  • objectOrArrayOnly: El conector convierte solo objetos y arreglos JSON a BSON.

    • "{a: 1}" se vuelve {a: 1}.

    • "[1, 2, 3]" se vuelve [1, 2, 3].

    • "true" no cambia.

    • "01234" no cambia.

    • "{a:b:c}" no cambia.

  • false: El conector deja todos los valores como cadenas.

Por defecto: false

idFieldList

Especifica un campo o una lista de campos por los que dividir los datos de la colección. Para especificar más de un campo, sepárelos con una coma, como se muestra en el siguiente ejemplo:

"fieldName1,fieldName2"

Por defecto: _id

ignoreNullValues

Cuando true, el conector ignora cualquier valor null al escribir, incluidos los valores null en arreglos y documentos anidados.

Por defecto: false

maxBatchSize

Especifica el número máximo de operaciones para agrupar en operaciones masivas.

Por defecto: 512

operationType

Especifica el tipo de operación de guardar a realizar. Puedes configurar una de las siguientes opciones:

  • insertInsertar los datos.

  • replaceReemplaza un documento existente que coincida con el valor idFieldList por los nuevos datos. Si no existe coincidencia, el valor de upsertDocument indica si el conector inserta un nuevo documento.

  • update: Actualiza un documento existente que coincida con el valor idFieldList con los nuevos datos. Si no existe ninguna coincidencia, el valor de upsertDocument indica si el conector inserta un nuevo documento.


Por defecto: replace

ordered

Especifica si se deben realizar operaciones masivas ordenadas.

Por defecto: true

upsertDocument

Cuando true, las operaciones de reemplazo y actualización insertan los datos si no existe ninguna coincidencia.

Para la colección de series de tiempo, debe establecer upsertDocument en false.

Por defecto: true

writeConcern.w

Especifica w, una opción de nivel de confirmación de escritura (write concern) que solicita la confirmación de que la operación de escritura se ha propagado a un número especificado de nodos de MongoDB.

Para obtener una lista de los valores permitidos para esta opción, consulte Opción w de nivel de confirmación de escritura (write concern) en el manual de MongoDB Server.

Por defecto: Acknowledged

writeConcern.journal

Especifica j, una opción de nivel de confirmación de escritura (write concern) que solicita la confirmación de que los datos se han guardado en la bitácora en disco para los criterios especificados en la opción w. Puede especificar true o false.

Para obtener más información sobre los valores j, consulte Opción j de WriteConcern en el manual de MongoDB Server.

writeConcern.wTimeoutMS

Especifica wTimeoutMS, una opción de nivel de confirmación de escritura (write concern) para devolver un error cuando una operación de guardar supera el número especificado de milisegundos. Si utiliza esta configuración opcional, debe especificar un número entero no negativo.

Para obtener más información sobre los valores de wTimeoutMS, consulte Nivel de confirmación de escritura (write concern) wtimeout en el manual de MongoDB Server.

checkpointLocation

La ruta de archivo absoluta del directorio donde el conector guarda la información del punto de control.

Para obtener más información sobre los puntos de control, consulte la guía de programación de transmisión estructurada de Spark

Por defecto: Ninguno

forceDeleteTempCheckpointLocation

Un valor booleano que especifica si se deben borrar los datos del punto de control existentes.

Por defecto: false

truncateMode

Especifica cómo truncar una colección al realizar una sobrescritura. Puede establecer esta opción en uno de los siguientes valores:

  • TruncateMode.DROP: por defecto. Descarta la colección.

  • TruncateMode.TRUNCATEElimina todas las entradas de la colección, pero preserva los índices, las opciones de colección y cualquier configuración de partición. Esto es más lento que una operación de descartar.

ignoreDuplicatesOnInsert

Cuando se establece en true, el conector ignora los errores de clave duplicada al realizar operaciones de inserción desordenadas. Los datos que se insertan deben incluir un valor de campo _id o los campos que se especifiquen en la opción idFieldList.

Por defecto: false

Si utiliza SparkConf para especificar cualquiera de las configuraciones anteriores, puede incluirlas en la configuración connection.uri o enumerarlas individualmente.

El siguiente ejemplo de código muestra cómo especificar la base de datos, la colección y la configuración de convertJson como parte de la configuración de connection.uri:

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

Para mantener el connection.uri más breve y hacer que la configuración sea más fácil de leer, puedes especificarlos individualmente en su lugar:

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

Si especifica una configuración tanto en el connection.uri como en su propia línea, la configuración de connection.uri tiene prioridad. Por ejemplo, en la siguiente configuración, la base de datos de conexión es foobar:

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