Conversores
Nesta página
Visão geral
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:
Para saber mais sobre conversores, consulte os seguintes recursos:
Conversores disponíveis
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.
Conversores com esquemas
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 .
Configuração do conector
Esta seção fornece modelos para arquivos de propriedades para configurar os seguintes conversores em um pipeline de conector:
Avro Converter
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.
Protobuf Converter
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.
Conversor de JSON schema
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.
Conversor de JSON
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.
Conversor de string (Raw JSON)
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.