Menu Docs
Página inicial do Docs
/
MongoDB Kafka Connector
/

Data Formats

Nesta página

  • Visão geral
  • JSON
  • Raw JSON
  • BSON
  • JSON schema
  • Avro
  • Avro Schema
  • Codificação binária Avro
  • Arrays de bytes

Neste guia, você pode aprender sobre os formatos de dados que usa ao trabalhar com o Conector Kafka MongoDB e seu pipeline.

Este guia usa o seguinte documento de amostra para mostrar o comportamento dos diferentes formatos:

{company:"MongoDB"}

JSON é um formato de troca de dados baseado em notação de objeto JavaScript. Você representa odocumento sample em JSON da seguinte forma:

{"company":"MongoDB"}

Você pode encontrar os seguintes formatos de dados relacionados a JSON ao trabalhar com o conector:

  • Raw JSON

  • BSON

  • JSON schema

Para mais informações sobre JSON, consulte o site oficial de JSON.

O JSON bruto é um formato de dados que consiste em objetos JSON gravados como strings. Você representa o documento de amostra em JSON bruto desta forma:

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

Você usa JSON bruto ao especificar um conversor de string em um conector de origem ou coletor. Para visualizar as configurações de conectores que especificam um conversor de string, consulte o guia Conversores .

BSON é uma codificação de serialização binária para objetos semelhantes a JSON. A BSON codifica o documento de exemplo da seguinte forma:

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

Seus conectores usam o formato BSON para enviar e receber documentos do deployment do MongoDB.

Para obter mais informações sobre o BSON, consulte a especificação BSON.

O JSON schema é uma sintaxe para especificar esquemas para objetos JSON. Um esquema é uma definição anexada a um Tópico Apache Kafka que define valores válidos para esse tópico.

Você pode especificar um esquema para o documento de exemplo com JSON schema da seguinte maneira:

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

Você utiliza o JSON schema quando você aplica conversores de JSON schema para seus conectores. Para visualizar as configurações de conector que especificam um conversor de JSON schema, consulte a guia Conversores.

Para mais informações, consulte o site oficial do JSON Schema.

O Apache Avro é uma estrutura de código aberto para serializar e transportar dados descritos por esquemas. A Avro define dois formatos de dados relevantes para o conector:

Para obter mais informações sobre o Apache Avro, consulte a Documentação do Apache Avro.

O esquema Avro é uma sintaxe de definição de esquema baseada em JSON. O esquema Avro suporta a especificação dos seguintes grupos de tipos de dados:

Aviso

Tipos de Avro não suportados

O conector não é compatível com os seguintes tipos Avro:

  • enum tipos. Em vez disso, use string.

  • fixed tipos. Em vez disso, use bytes.

  • null como um tipo primitivo. No entanto, null como um elemento em um union é suportado.

  • union tipos com mais de 2 elementos.

  • union tipos com mais de um elemento null.

Importante

Conectores de afundamento e tipos lógicos

O conector de coletor do MongoDB Kafka é compatível com todos os tipos primitivos e complexos do esquema Avro, mas os conectores de coletor são compatíveis apenas com os seguintes tipos lógicos:

  • decimal

  • date

  • time-millis

  • time-micros

  • timestamp-millis

  • timestamp-micros

Você pode construir um esquema Avro para o documento de exemplo da seguinte maneira:

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

Você usa o esquema Avro quando definir um esquema para um conector de origem MongoDB Kafka.

Para obter uma lista de todos os tipos de esquema Avro, consulte a especificação Apache Avro.

Avro especifica uma codificação de serialização binária para objetos JSON definidos por um esquema Avro.

Se você usar o esquema Avro anterior, poderá representar o documento de exemplo com codificação binária Avro da seguinte maneira:

\x0eMongoDB

Você usa a codificação binária Avro quando especifica um conversor Avro em uma fonte ou conector de pia. Para visualizar as configurações de conectores que especificam um conversor Avro, consulte o guia Conversores.

Para saber mais sobre a codificação binária Avro, consulte esta seção da especificação Avro.

Uma array de bytes é uma sequência consecutiva de bytes não estruturados.

Você pode representar o documento de amostra como uma array de bytes usando qualquer uma das codificações mencionadas acima.

Você usa arrays de bytes quando seus conversores enviam ou recebem dados do Apache Kafka. Para mais informações sobre conversores, consulte o guia Conversores.

Voltar

Conecte-se ao MongoDB