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.

Esta guía utiliza el siguiente documento de muestra 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. Representa el Documento de muestra en JSON como este:

{"company":"MongoDB"}

Es posible que encuentre 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, consulte 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\"}"

Se utiliza JSON sin procesar al especificar un convertidor de cadenas en un conector de origen o destino. Para ver las configuraciones del conector que especifican un convertidor de cadenas, consulte Guíade convertidores.

BSON es una codificación de serialización binaria para objetos tipo JSON. BSON codifica el documento de ejemplo de la siguiente manera:

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

Sus conectores utilizan el formato BSON para enviar y recibir documentos desde su 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.

Puede especificar un esquema para el documento de muestra con el esquema JSON de la siguiente manera:

{
"$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
}

Se utiliza el esquema JSON al aplicar convertidores de esquema JSON a los conectores. Para ver las configuraciones de conectores que especifican un convertidor de esquema JSON, consulte 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, consulte 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. Utilice string en su lugar.

  • fixed tipos. Utilice bytes en su lugar.

  • null como tipo primitivo. Sin embargo, se admite null como elemento en un union.

  • 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 receptor MongoDB Kafka admite todos los tipos primitivos y complejos del esquema Avro; sin embargo, los conectores de receptor solo admiten los siguientes tipos lógicos:

  • decimal

  • date

  • time-millis

  • time-micros

  • timestamp-millis

  • timestamp-micros

Puede construir un esquema de 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"
   }
 ]
}

Utilice el esquema Avro cuando defina un esquema para un conector de origen MongoDB Kafka.

Para obtener una lista de todos los tipos de esquemas de Avro, consulte la especificación de Apache Avro.

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

Si utiliza el esquema Avro anterior, puede representar el documento de muestra con codificación binaria Avro de la siguiente manera:

\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 obtener más información sobre la codificación binaria de Avro, consulte esta sección de la especificación de Avro.

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

Puede representar el documento de muestra como una matriz de bytes utilizando cualquiera de las codificaciones mencionadas anteriormente.

Se utilizan matrices de bytes cuando los convertidores envían o reciben datos de Apache Kafka. Para más información sobre convertidores, consulte la guía de convertidores.

Volver

Conéctese a MongoDB

En esta página