Apache Kafka para o formato de dados JSON/AVRO

Nota

O conector está sujeito aos termos do conector.

Este tópico descreve os conectores do Apache Kafka para os formatos de dados JSON e AVRO. São conectores simplificados otimizados para a ingestão de mensagens básicas com evolução de esquema e recursos de mapeamento de tópico para tabela.

Variantes de conectores

Conector de formato de dados JSON

O conector de formato de dados do Apache Kafka para JSON foi projetado para a ingestão direta de mensagens JSON de tópicos do Kafka para tabelas Snowflake.

Principais recursos:

  • Suporte ao formato de mensagem JSON

  • Evolução do esquema

  • Mapeamento de tópico para tabela

  • Autenticação SASL

Conector de formato de dados AVRO

O conector de formato de dados do Apache Kafka para AVRO foi projetado para a ingestão de mensagens AVRO de tópicos do Kafka para tabelas Snowflake com suporte a registro de esquema.

Principais recursos:

  • Suporte ao formato de mensagem AVRO

  • Integração do registro de esquema

  • Evolução do esquema

  • Mapeamento de tópico para tabela

  • Autenticação SASL

Parâmetros específicos

Além dos parâmetros comuns descritos em Configure o Openflow Connector para Kafka, esses conectores têm contextos de parâmetros específicos.

Parâmetros de registro de esquema (somente no conector AVRO)

O conector AVRO inclui parâmetros adicionais para a integração do registro de esquema:

Parâmetro

Descrição

Obrigatório

Tipo de autenticação do registro de esquema

O método de autenticação no registro de esquema, se usado. Caso contrário, use NONE. Uma das seguintes opções: NONE/BASIC. Padrão: NONE

Sim

URL do registro de esquema

O URL do registro de esquema. Necessário para o formato de mensagem AVRO.

Não

Nome de usuário do registro de esquema

O nome de usuário do registro de esquema. Necessário para o formato de mensagem AVRO.

Não

Senha do registro de esquema

A senha do registro de esquema. Necessário para o formato de mensagem AVRO.

Não

Estratégia de acesso ao esquema AVRO

O método de acessar o esquema AVRO de uma mensagem. Necessário para AVRO. Uma das seguintes opções: embedded-avro-schema/schema-reference-reader/schema-text-property. Padrão: embedded-avro-schema

Não

Esquema AVRO

O esquema Avro, caso schema-text-property seja usado na estratégia de acesso ao esquema AVRO com o formato de mensagem AVRO. Observação: isso só deve ser usado se todas as mensagens consumidas do(s) tópico(s) Kafka configurado(s) tiverem o mesmo esquema.

Não

Limitações

Esses conectores simplificados têm as seguintes limitações em comparação com o conector DLQ e de metadados com todos os recursos:

  • Nenhuma coluna RECORD_METADATA – Os metadados do Kafka não são armazenados nas tabelas de destino

  • Sem fila de mensagens não entregues (DLQ) – As mensagens com falha não são encaminhadas para um tópico DLQ

  • Não há suporte para a tabela Iceberg – Somente as tabelas Snowflake regulares são compatíveis

  • Correção da esquematização – A detecção de esquema está sempre ativada e não pode ser desativada

Nota

A detecção de esquema é ativada por padrão nesses conectores e não pode ser desativada. Isso significa que os campos de mensagem são automaticamente nivelados em colunas de tabelas individuais com evolução automática do esquema.

Casos de uso

Esses conectores são ideais para:

Ingestão simples de dados

Quando você precisa apenas do conteúdo da mensagem sem os metadados do Kafka.

Cenários de alta taxa de transferência

Onde a estrutura de dados simplificada melhora o desempenho.

Casos de uso de evolução de esquema

Onde são necessárias atualizações automáticas do esquema de tabela

Formatos de mensagem JSON ou AVRO

Com esquemas consistentes

Se você precisar de metadados do Kafka, suporte à DLQ ou ingestão de tabelas Iceberg, use o conector Apache Kafka com DLQ e metadados.

Detecção e evolução de esquema

Esses conectores oferecem suporte à detecção e evolução automáticas do esquema. A estrutura das tabelas no Snowflake é definida e evolui automaticamente para oferecer suporte à estrutura dos novos dados carregados pelo conector.

Com a detecção de esquema ativada (que é sempre o caso para esses conectores), o Snowflake pode detectar o esquema dos dados de streaming e carregar dados em tabelas que correspondem automaticamente a qualquer esquema definido pelo usuário. Snowflake também permite adicionar novas colunas ou descartar a restrição NOT NULL de colunas ausentes em novos arquivos de dados.

A detecção de esquema com o conector é compatível com ou sem um registro de esquema fornecido. Se estiver usando o registro de esquema (Avro), a coluna será criada com os tipos de dados definidos no registro de esquema fornecido. Se não houver registro de esquema (JSON), o tipo de dados será inferido com base nos dados fornecidos.

JSON ARRAY não é compatível com esquematização adicional.

Comportamento de evolução do esquema

Se o conector criar a tabela de destino, a evolução do esquema será ativada por padrão.

Se quiser ativar ou desativar a evolução do esquema em uma tabela existente, use o comando ALTER TABLE para definir o parâmetro ENABLE_SCHEMA_EVOLUTION. Você também deve usar uma função com o privilégio OWNERSHIP na tabela. Para obter mais informações, consulte Evolução do esquema da tabela.