Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Data Formats

En esta guía, podrá obtener información sobre los formatos de datos que utiliza cuando trabaja con el conector MongoDB Kafka y su canalización.

En esta guía se utiliza el siguiente documento de ejemplo para mostrar el comportamiento de los diferentes formatos:

{company:"MongoDB"}

JSON es un formato de intercambio de datos basado en la notación de objetos de JavaScript. Representas el documento de muestra en JSON como este:

{"company":"MongoDB"}

Puede encontrarse con los siguientes formatos de datos relacionados con JSON al trabajar con el conector:

  • Raw JSON

  • BSON

  • JSON Schema

Para obtener más información sobre JSON, consulta el sitio web oficial de JSON.

JSON sin procesar es un formato de datos que consta de objetos JSON escritos como cadenas. El documento de ejemplo se representa en JSON sin procesar de la siguiente manera:

"{\"company\":\"MongoDB\"}"

Utilizas JSON sin procesar cuando especificas un convertidor de string en un conector de origen o destino. Para ver las configuraciones de conectores que especifican un convertidor de String, consulte el Guíade convertidores.

BSON es una codificación binaria de serialización para objetos similares a JSON. BSON codifica el documento de muestra de esta manera:

\x1a\x00\x00\x00\x02company\x00\x08\x00\x00\x00MongoDB\x00\x00

Tus conectores usan el formato BSON para enviar y recibir documentos desde tu implementación de MongoDB.

Para obtener más información sobre BSON, consulte la especificación BSON.

JSON Schema es una sintaxis para especificar esquemas para objetos JSON. Un esquema es una definición adjunta a un tema de Apache Kafka que define los valores válidos para ese tema.

Puedes especificar un esquema para el documento de muestra con JSON Schema como este:

{
"$schema":"http://json-schema.org/draft-07/schema",
"$id":"unique id",
"type":"object",
"title":"Example Schema",
"description":"JSON Schema for the sample document.",
"required":[
"company"
],
"properties":{
"company":{
"$id":"another unique id",
"type":"string",
"title":"Company",
"description":"A field to hold the name of a company"
}
},
"additionalProperties":false
}

Utilizas JSON Schema cuando aplicas conversores de JSON Schema a tus conectores. Para ver configuraciones de conectores que especifiquen un convertidor de JSON Schema, consulta la guía de Convertidores.

Para obtener más información, consulte el sitio web oficial del Esquema JSON.

Apache Avro es un framework de código abierto para serializar y transportar datos descritos mediante esquemas. Avro define dos formatos de datos relevantes para el conector:

Para obtener más información sobre Apache Avro, consulta la Documentación de Apache Avro.

El esquema Avro es una sintaxis de definición de esquema basada en JSON. El esquema Avro admite la especificación de los siguientes grupos de tipos de datos:

Advertencia

Tipos de Avro no compatibles

El conector no admite los siguientes tipos de Avro:

  • enum tipos. Utiliza string en su lugar.

  • fixed tipos. Utiliza bytes en su lugar.

  • null como un tipo primitivo. Sin embargo, null como elemento en un union es compatible.

  • union tipos con más de 2 elementos.

  • union tipos con más de un elemento null.

Importante

Conectores de sumidero y tipos lógicos

El conector de sumidero de MongoDB Kafka soporta todos los tipos primitivos y complejos de esquemas Avro, pero los conectores de sumidero solo soportan los siguientes tipos lógicos:

  • decimal

  • date

  • time-millis

  • time-micros

  • timestamp-millis

  • timestamp-micros

Puedes construir un esquema Avro para el documento de muestra de la siguiente manera:

{
 "type": "record",
 "name": "example",
 "doc": "example documents have a company field",
 "fields": [
   {
     "name": "company",
     "type": "string"
   }
 ]
}

Utiliza el esquema Avro cuando define un esquema para un conector de origen MongoDB de Kafka.

Para obtener una lista de todos los tipos de esquema Avro, consulta la Especificación de Apache Avro.

Avro especifica una codificación de serialización binaria para objetos JSON definidos por un esquema Avro.

Si usas el esquema Avro anterior, puedes representar el documento de muestra con la codificación binaria de Avro así:

\x0eMongoDB

Se utiliza la codificación binaria Avro al especificar un conversor Avro en un conector de origen o destino. Para ver las configuraciones de conectores que especifican un conversor Avro, consulte la guía de conversores.

Para aprender más sobre la codificación binaria Avro, consulta esta sección de la especificación Avro.

Una matriz de bytes es una secuencia consecutiva de bytes no estructurados.

Puedes representar el documento de muestra como un arreglo de bytes utilizando cualquiera de las codificaciones mencionadas arriba.

Utilizas arreglos de bytes cuando tus convertidores envían datos a o reciben datos de Apache Kafka. Para más información sobre convertidores, consulta la guía de Conversores.

Volver

Conéctese a MongoDB

En esta página