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

Conversores

Nesta página

  • Visão geral
  • Conversores disponíveis
  • Conversores com esquemas
  • Configuração do conector
  • Avro Converter
  • Protobuf Converter
  • Conversor de JSON schema
  • Conversor de JSON
  • Conversor de string (Raw JSON)

Este guia descreve como usar conversores com o Conector MongoDB Kafka. Os conversores são programas que traduzem entre bytes e o formato de dados de tempo de execução do Kafka Connect.

Os conversores passam dados entre o Kafka Connect e o Apache Kafka. O conector passa dados entre o MongoDB e o Kafka Connect. O diagrama abaixo mostra esses relacionamentos:

Diagrama ilustrando o papel dos conversores no Kafka Connect

Para saber mais sobre conversores, consulte os seguintes recursos:

  • Artigo da Confluente.

  • Artigo do Confluent sobre conceitos do Kafka Connect

  • Documentação da API de interface do conversor

Conforme o conector converte seus dados MongoDB para o formato de dados de tempo de execução do Kafka Connect, o conector funciona com todos os conversores disponíveis.

Importante

Use o mesmo conversor para seus conectores de origem e coletor

Você deve usar o mesmo conversor em seu conector de origem e conector de coletor do MongoDB Kafka. Por exemplo, se o conector de origem gravar em um tópico usando o Protobuf, o conector do coletor deverá usar o Protobuf para ler o tópico.

Para saber qual conversor usar, consulte esta página do Confluent.

Se você usar um conversor baseado em esquema, como o Kafka Connect Avro Converter (Avro Converter), Kafka Connect Protobuf Converter ou Kafka Connect JSON Schema Converter, deverá definir um esquema no conector de origem.

Para saber como especificar um esquema, consulte o guia Aplicar esquemas .

Esta seção fornece modelos para arquivos de propriedades para configurar os seguintes conversores em um pipeline de conector:

Clique nas seguintes abas para visualizar os arquivos de propriedades que funcionam com o conversor Avro:

O seguinte arquivo de propriedades define um conector de origem. Esse conector usa o esquema padrão e um conversor Avro para escrever em um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=<your schema registry uri>

Importante

Conversor Avro com Fonte de Dados MongoDB

Os conversores Avro são uma ótima opção para dados com uma estrutura estática, mas não são ideais para dados dinâmicos ou em constante mudança. O modelo de documento sem esquema do MongoDB dá suporte a dados dinâmicos. Sendo assim, certifique-se de que a fonte de dados do MongoDB tenha uma estrutura estática antes de especificar um conversor Avro.

O seguinte arquivo de propriedades define um conector de pia. Esse conector usa um conversor Avro para ler a partir de um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=<your schema registry uri>

Para usar o arquivo de propriedades anterior, insira suas informações em texto no espaço reservado entre colchetes.

Clique nas seguintes abas para visualizar os arquivos de propriedades que funcionam com o conversor Protobuf:

O seguinte arquivo de propriedades define um conector de origem. Esse conector usa o esquema padrão e um conversor Protobuf para escrever em um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
key.converter=io.confluent.connect.protobuf.ProtobufConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.protobuf.ProtobufConverter
value.converter.schema.registry.url=<your schema registry uri>

O seguinte arquivo de propriedades define um conector de pia. Esse conector usa um conversor Protobuf para ler a partir de um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=io.confluent.connect.protobuf.ProtobufConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.protobuf.ProtobufConverter
value.converter.schema.registry.url=<your schema registry uri>

Para usar o arquivo de propriedades anterior, insira suas informações em texto no espaço reservado entre colchetes.

Clique nas seguintes abas para visualizar os arquivos de propriedades que funcionam com o conversor do JSON schema:

Os seguintes arquivos de propriedades configuram seu conector para gerenciar JSON schemas utilizando Registro de Esquema Confluente:

O seguinte arquivo de propriedades define um conector de origem. Esse conector usa o esquema padrão e um conversor de JSON schema para escrever em um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
key.converter=io.confluent.connect.json.JsonSchemaConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.json.JsonSchemaConverter
value.converter.schema.registry.url=<your schema registry uri>

O seguinte arquivo de propriedades define um conector de pia. Esse conector usa um conversor de JSON schema para ler a partir de um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=io.confluent.connect.json.JsonSchemaConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.json.JsonSchemaConverter
value.converter.schema.registry.url=<your schema registry uri>

Os seguintes arquivos de propriedades configuram seu conector para incorporar JSON schemas em mensagens:

Importante

Tamanho maior da mensagem

A incorporação de um JSON schema em sua mensagem aumenta o tamanho da sua mensagem. Para diminuir o tamanho de suas mensagens enquanto usa o JSON schema, use o Registro de Esquema.

O seguinte arquivo de propriedades define um conector de origem. Esse conector usa o esquema padrão e um conversor de JSON schema para escrever em um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
output.schema.infer.value=true
key.converter.schemas.enable=true
value.converter.schemas.enable=true
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

O seguinte arquivo de propriedades define um conector de pia. Esse conector usa um conversor de JSON schema para ler a partir de um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter.schemas.enable=true
value.converter.schemas.enable=true
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

Para usar o arquivo de propriedades anterior, insira suas informações em texto no espaço reservado entre colchetes.

Clique nas seguintes abas para visualizar os arquivos de propriedades que funcionam com o conversor JSON:

O seguinte arquivo de propriedades define um conector de origem. Esse conector usa um conversor JSON para escrever em um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=json
output.format.key=json
key.converter.schemas.enable=false
value.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

O seguinte arquivo de propriedades define um conector de pia. Esse conector usa um conversor JSON para ler a partir de um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter.schemas.enable=false
value.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

Para usar o arquivo de propriedades anterior, insira suas informações em texto no espaço reservado entre colchetes.

Clique nas seguintes abas para visualizar os arquivos de propriedades que funcionam com o conversor de string:

O seguinte arquivo de propriedades define um conector de origem. Esse conector usa um conversor de cadeia para escrever em um tópico do Apache Kafka:

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=json
output.format.key=json
key.converter.schemas.enable=false
value.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter

O seguinte arquivo de propriedades define um conector de pia. Esse conector usa um conversor de string para ler um tópico do Apache Kafka :

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter

Importante

As strings recebidas devem ser JSON válidos

O conector do coletor deve receber strings JSON válidas do tópico do Apache Kafka, mesmo ao usar um conversor de string.

Para usar o arquivo de propriedades anterior, insira suas informações em texto no espaço reservado entre colchetes.

Voltar

Data Formats