Limitações do conector Kafka
Beta
Este recurso está em Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Esta página lista limitações e considerações para a ingestão de dados do Apache Kafka usando o Databricks LakeFlow Connect.
Dados compatíveis
O conector Kafka ingere dados de um ou mais tópicos do Kafka. Você especifica quais tópicos devem ser ingeridos usando a opção de conector topics ou topic_pattern . Qualquer tópico acessível através da conexão Kafka pode ser ingerido.
Limitações específicas do conector
- **Colunas de metadados não disponíveis**: Apenas as colunas de key e de valor são gravadas na tabela de destino. As colunas de metadados do Kafka — incluindo
topic,partition,offset,timestamp,timestampTypeeheaders— não estão disponíveis na tabela de destino em Beta. - Tabelas somente de acréscimo : as tabelas de destino são somente de acréscimo. Atualizações e exclusões não são compatíveis.
- Um cluster por pipeline: Cada pipeline usa uma única conexão do Unity Catalog (um cluster Kafka). Para ingerir de múltiplos clusters Kafka, crie pipelines separados.
- Serverless compute only : O conector Kafka gerenciado é executado exclusivamente em serverless compute. Os pipeline compute clássicos não são suportados.
- Criação de pipelines baseada em IU não disponível : a criação de pipelines pela IU do Databricks não é compatível na versão Beta. Use os Pacotes de Automação Declarativa ou um Notebook do Databricks.
- Não é possível selecionar ou desmarcar colunas : A seleção ou desmarcação de colunas específicas não é suportada na versão Beta.
- Sem filtragem de linha : A filtragem em nível de linha não é compatível.
- Sem SCD tipo 2 : Como as tabelas de destino são somente para acréscimo, o acompanhamento de histórico do SCD tipo 2 não é compatível.
- Sem evolução do esquema para colunas renomeadas : as renomeações de coluna não são rastreadas. Uma coluna renomeada na origem é tratada como uma nova coluna no destino.
- Sem orquestração usando Databricks Workflows : o pipeline é executado continuamente. O agendamento baseado em fluxo de trabalho não é compatível.
Limitações de fanout
Visualização
Este recurso está em Prévia Privada. Para experimentá-lo, entre em contato com seu contato do Databricks.
As seguintes limitações se aplicam ao rotear registros para várias tabelas usando fanout. Consulte Roteie registros para várias tabelas (fanout) para configurar fanout.
- Configure
fanout_optionsem um objeto de esquema, e não em um objeto de tabela. Não definasource_catalognemsource_schemano objeto de esquema de fanout. - Cada registro é roteado para exatamente uma tabela de destino, determinado por seu valor
fanout_by. Não há suporte para distribuir um único registro para várias tabelas. - Fanout requer um pipeline contínuo (
continuous: true). Pipelines acionados (únicos) não são suportados. - Você pode aplicar no máximo uma transformação a cada rota, e ela deve usar
format: JSON. As transformaçõesAVROePROTOBUFnão são suportadas para fanout. - A expressão
fanout_bydeve resolver para um(a)STRING, fazer referência a pelo menos uma coluna de entrada e ser determinística. Funções definidas pelo usuário (UDFs) não são suportadas. A chave de roteamento não deve ser nula. - O valor
fanout_byresolvido é usado como o segmento de nome da tabela de destino literalmente, sem aspas ou higienização, portanto, deve ser um identificador de tabela sem aspas válido. Valores com espaços, pontos ou outros caracteres que não são válidos em um identificador sem aspas causam falha na gravação, assim como um valor que é composto apenas por dígitos (por exemplo,123). Um dígito inicial é permitido quando o valor também contém uma letra ou underscore, como2024_events. fanout_byé avaliado em relação ao registro de origem bruto (com as colunaskeyevaluedo Kafka). A colunavalueé binária, então converta-a em uma string antes de extrair um campo (por exemplo,cast(value as string):event_type::string). Uma transformaçãofanout_optionsé executada após o roteamento, portanto, não pode produzir uma coluna quefanout_byreferencia.