Ingestão de transmissão em fluxo e alterações de esquema
Os nós de cluster colocam em cache o esquema das bases de dados que obtêm dados através da ingestão de transmissão em fluxo, aumentando o desempenho e a utilização de recursos. No entanto, quando há alterações de esquema, pode levar a atrasos nas atualizações.
Se as alterações ao esquema e a ingestão de transmissão em fluxo não estiverem sincronizadas, poderá encontrar falhas como erros relacionados com o esquema ou dados incompletos e distorcidos na tabela.
Este artigo descreve as alterações típicas do esquema e fornece orientações sobre como evitar problemas com a ingestão de transmissão em fluxo durante estas alterações.
Alterações de esquema
A lista seguinte abrange exemplos-chave de alterações de esquema:
- Criação de tabelas
- Eliminação de tabelas
- Adicionar uma coluna a uma tabela
- Remover uma coluna de uma tabela
- Voltar a escrever as colunas de uma tabela
- Mudar o nome das colunas de uma tabela
- Adicionar mapeamentos de ingestão pré-criada
- Remover mapeamentos de ingestão pré-criada
- Adicionar, remover ou alterar políticas
Coordenar alterações de esquema com a ingestão de transmissão em fluxo
A cache de esquema é mantida enquanto o cluster está online. Se existirem alterações de esquema, o sistema atualiza automaticamente a cache, mas esta atualização pode demorar vários minutos. Se depender da atualização automática, pode deparar-se com falhas de ingestão descoordenadas.
Pode reduzir os efeitos do atraso da propagação ao limpar explicitamente a cache de esquema nos nós do cluster. Se o fluxo de ingestão de transmissão em fluxo e as alterações de esquema forem coordenados, pode eliminar completamente as falhas e a distorção dos dados associados.
Para coordenar o fluxo de ingestão de transmissão em fluxo com alterações de esquema:
- Suspender a ingestão de transmissão em fluxo.
- Aguarde até que todos os pedidos de ingestão de transmissão em fluxo pendentes estejam concluídos.
- Efetuar alterações de esquema.
- Emita um ou vários comandos de esquema de ingestão de transmissão em fluxo de cache .clear .
- Repita até ter êxito e todas as linhas na saída do comando indicarem êxito
- Retomar a ingestão de transmissão em fluxo.
Nota
Se criou uma aplicação para ingestão personalizada, recomendamos que faça a gestão de falhas relacionadas com o esquema ao tentar novamente durante um determinado período de tempo ou ao redirecionar dados de pedidos falhados através de métodos de ingestão em fila.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários