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.