Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A ingestão de dados envolve o carregamento de dados em uma tabela no cluster. O Azure Data Explorer garante a validade dos dados, converte formatos conforme necessário e executa manipulações como correspondência de esquema, organização, indexação, codificação e compactação. Depois de ingeridos, os dados ficam disponíveis para consulta.
O Azure Data Explorer oferece ingestão única ou o estabelecimento de um pipeline de ingestão contínua, usando streaming ou ingestão enfileirada. Para determinar qual é a certa para você, consulte Ingestão única de dados e Ingestão contínua de dados.
Observação
Os dados são mantidos no armazenamento de acordo com a política de retenção definida.
Ingestão única de dados
A ingestão única é útil para a transferência de dados históricos, preenchimento de dados ausentes e os estágios iniciais de prototipagem e análise de dados. Essa abordagem facilita a integração rápida de dados sem a necessidade de um compromisso contínuo de pipeline.
Há várias maneiras de realizar a ingestão única de dados. Use a seguinte árvore de decisão para determinar a opção mais adequada para seu caso de uso:
Para obter mais informações, consulte a documentação relevante:
Balão | Documentação relevante |
---|---|
![]() |
Confira os formatos de dados compatíveis com o Azure Data Explorer para ingestão. |
![]() |
Confira os formatos de arquivo compatíveis com pipelines do Azure Data Factory. |
![]() |
Para importar dados de um sistema de armazenamento existente, consulte Como ingerir dados históricos no Azure Data Explorer. |
![]() |
Na interface do usuário da Web do Azure Data Explorer, você pode obter dados de um arquivo local, Amazon S3 ou Armazenamento do Azure. |
![]() |
Para integrar com o Azure Data Factory, consulte Copiar dados para o Azure Data Explorer usando o Azure Data Factory. |
![]() |
As bibliotecas de cliente Kusto estão disponíveis para C#, Python, Java, JavaScript, TypeScript e Go. Você pode escrever código para manipular seus dados e, em seguida, usar a biblioteca Kusto Ingest para ingerir dados em sua tabela do Azure Data Explorer. Os dados devem estar em um dos formatos suportados antes da ingestão. |
Ingestão de dados contínua
A ingestão contínua se destaca em situações que exigem insights imediatos de dados em tempo real. Por exemplo, a ingestão contínua é útil para monitorar sistemas, dados de log e eventos e análises em tempo real.
A ingestão contínua de dados envolve a configuração de um pipeline de ingestão com streaming ou ingestão enfileirada:
Ingestão de streaming: esse método garante latência quase em tempo real para pequenos conjuntos de dados por tabela. Os dados são ingeridos em micro lotes de uma fonte de streaming, inicialmente colocados no repositório de linhas e transferidos para extensões de armazenamento de colunas. Para obter mais informações, consulte Configurar a ingestão de streaming.
Ingestão em fila: esse método é otimizado para alta taxa de transferência de ingestão. Os dados são agrupados em lotes com base nas propriedades de assimilação, com pequenos lotes mesclados e otimizados para resultados de consulta rápidos. Por padrão, os valores máximos de enfileiramento são 5 minutos, 1000 itens ou um tamanho total de 1 GB. O limite de tamanho de dados para um comando de ingestão na fila é de 6 GB. Esse método usa mecanismos de repetição para mitigar falhas transitórias e segue a semântica de mensagens "pelo menos uma vez" para garantir que nenhuma mensagem seja perdida no processo. Para obter mais informações sobre a ingestão na fila, consulte política de envio em lote de ingestão.
Observação
Para a maioria dos cenários, é recomendável usar a ingestão na fila, pois ela é a opção mais performante.
Observação
O sistema de ingestão em fila de espera garante um armazenamento temporário confiável de dados por até 7 dias. No entanto, se o cluster não tiver capacidade suficiente para concluir a ingestão dentro dessa janela de retenção, os dados serão descartados quando o limite de 7 dias for excedido. Para evitar atrasos de perda e ingestão de dados, verifique se o cluster tem recursos suficientes para processar os dados enfileirados dentro do período de 7 dias.
Há várias maneiras de configurar a ingestão contínua de dados. Use a seguinte árvore de decisão para determinar a opção mais adequada para seu caso de uso:
Para obter mais informações, consulte a documentação relevante:
Balão | Documentação relevante |
---|---|
![]() |
Para obter uma lista de conectores, consulte Visão geral dos conectores. |
![]() |
Crie uma conexão de dados dos Hubs de Eventos. A integração com os Hubs de Eventos fornece serviços como limitação, repetições, monitoramento e alertas. |
![]() |
Faça a ingestão de dados do Apache Kafka, uma plataforma de streaming distribuída para criar pipelines de dados de streaming em tempo real. |
![]() |
Crie uma conexão de dados do Hub IoT. A integração com os Hubs IoT fornece serviços como limitação, repetições, monitoramento e alertas. |
![]() |
Crie uma conexão de dados da Grade de Eventos. A integração com a Grade de Eventos fornece serviços como limitação, repetições, monitoramento e alertas. |
![]() |
Consulte as diretrizes para o conector relevante, como Apache Spark, Apache Kafka, Azure Cosmos DB, Fluent Bit, Logstash, Open Telemetry, Power Automate, Splunk e muito mais. Para obter mais informações, consulte Visão geral dos conectores. |
![]() |
As bibliotecas de cliente Kusto estão disponíveis para C#, Python, Java, JavaScript, TypeScript e Go. Você pode escrever código para manipular seus dados e, em seguida, usar a biblioteca Kusto Ingest para ingerir dados em sua tabela do Azure Data Explorer. Os dados devem estar em um dos formatos suportados antes da ingestão. |
Observação
Não há suporte para ingestão de streaming para todos os métodos de ingestão. Para obter detalhes de suporte, consulte a documentação do método de ingestão específico.
Ingestão direta com comandos de gerenciamento
O Azure Data Explorer oferece os seguintes comandos de gerenciamento de ingestão, que ingerem dados diretamente no cluster em vez de usar o serviço de gerenciamento de dados. Eles devem ser usados apenas para exploração e prototipagem e não em cenários de produção ou de alto volume.
- Ingestão embutida: o comando embutido .ingest contém os dados a serem ingeridos como parte do próprio texto de comando. Esse método se destina a fins de teste improvisado.
- Ingerir da consulta: os comandos .set, .append, .set-or-append ou .set-or-replace especificam indiretamente os dados a serem ingeridos como os resultados de uma consulta ou de um comando.
- Ingerir do armazenamento: o comando .ingest into obtém os dados a serem ingeridos do armazenamento externo, como o Armazenamento de Blobs do Azure, acessível pelo cluster e especificado pelo comando.
Observação
No caso de uma falha, a ingestão é executada novamente e é repetida por até 48 horas usando o método de retirada exponencial para o tempo de espera entre tentativas.
Comparar métodos de ingestão
A tabela a seguir compara os principais métodos de ingestão:
Nome da ingestão | Tipo de dados | Tamanho máximo do arquivo | Streaming, enfileirado, direto | Cenários mais comuns | Considerações |
---|---|---|---|---|---|
Conector do Apache Spark | Todos os formatos com suporte no ambiente do Spark | Ilimitado | Em fila | Pipeline existente, pré-processamento no Spark antes da ingestão, maneira rápida de criar um pipeline de streaming seguro (Spark) das várias origens às quais o ambiente do Spark dá suporte. | Considere o custo do cluster Spark. Para gravação em lote, compare com a conexão de dados do Azure Data Explorer para a Grade de Eventos. Para o streaming do Spark, faça a comparação com a conexão de dados para o hub de eventos. |
ADF (Azure Data Factory) | Formatos de dados compatíveis | Ilimitado. Herda restrições do ADF. | Enfileirado ou por gatilho do ADF | Dá suporte a formatos sem suporte, como Excel e XML, e pode copiar arquivos grandes de mais de 90 fontes, do local para a nuvem | Esse método leva relativamente mais tempo até que os dados sejam ingeridos. O ADF carrega todos os dados na memória e, em seguida, inicia a ingestão. |
Grade de Eventos | Formatos de dados compatíveis | 1 GB descompactado | Em fila | Ingestão contínua do armazenamento do Azure, dados externos do armazenamento do Azure | A ingestão pode ser disparada por ações de renomeação de blob ou de criação de blob |
Hub de Evento | Formatos de dados compatíveis | N/D | Na fila, streaming | Mensagens, eventos | |
Obtenha experiência de dados | *SV, JSON | 1 GB descompactado | Ingestão direta ou enfileirada | One-off, criar esquema de tabela, definição de ingestão contínua com Grade de Eventos, ingestão em massa com contêiner (até 5.000 blobs, sem limite ao usar a ingestão de dados históricos) | |
Hub IoT | Formatos de dados compatíveis | N/D | Na fila, streaming | Mensagens de IoT, eventos de IoT, propriedades de IoT | |
Conector Kafka | Avro, ApacheAvro, JSON, CSV, Parquet e ORC | Ilimitado. Herda restrições do Java. | Na fila, streaming | Pipeline existente, alto consumo de volume da origem. | A preferência pode ser determinada pelo uso existente de vários produtores ou serviço ao consumidor ou pelo nível desejado de gerenciamento de serviços. |
Bibliotecas de cliente Kusto | Formatos de dados compatíveis | 1 GB descompactado | Na fila, streaming, direto | Escreva um código próprio de acordo com as necessidades da organização | A ingestão programática é otimizada para reduzir os custos de ingestão (COGs), minimizando as transações de armazenamento durante e após o processo de ingestão. |
LightIngest | Formatos de dados compatíveis | 1 GB descompactado | Ingestão direta ou enfileirada | Migração de dados, dados históricos com carimbos de data/hora de ingestão ajustados, ingestão em massa | Diferencia maiúsculas de minúsculas e diferencia espaço |
Aplicativos Lógicos | Formatos de dados compatíveis | 1 GB descompactado | Em fila | Usado para automatizar tubulações | |
LogStash | JSON | Ilimitado. Herda restrições do Java. | Em fila | Pipeline existente, use a natureza de software livre e madura do Logstash para alto consumo de volume das entradas. | A preferência pode ser determinada pelo uso existente de vários produtores ou serviço ao consumidor ou pelo nível desejado de gerenciamento de serviços. |
Power Automate | Formatos de dados compatíveis | 1 GB descompactado | Em fila | Comandos de ingestão como parte do fluxo. Usado para automatizar pipelines. |
Para obter informações sobre outros conectores, consulte Visão geral dos conectores.
Permissões
A lista a seguir descreve as permissões necessárias para vários cenários de ingestão:
- Para criar uma nova tabela, você deve ter pelo menos permissões de Usuário de Banco de Dados.
- Para ingerir dados em uma tabela existente, sem alterar seu esquema, você deve ter pelo menos permissões de Ingestor de Tabela.
- Para alterar o esquema de uma tabela existente, você deve ter pelo menos permissões de Administrador de Tabela ou Administrador de Banco de Dados.
A tabela a seguir descreve as permissões necessárias para cada método de ingestão:
Método de ingestão | Permissões |
---|---|
Ingestão única | Pelo menos o Ingestor de Tabela |
Ingestão contínua de streaming | Pelo menos o Ingestor de Tabela |
Ingestão contínua na fila | Pelo menos o Ingestor de Tabela |
Ingestão direta em linha | Pelo menos o Ingestor de Tabela e também o Visualizador de Banco de Dados |
Ingestão direta de consulta | Pelo menos o Ingestor de Tabela e também o Visualizador de Banco de Dados |
Ingestão direta de armazenamento | Pelo menos o Ingestor de Tabela |
Para obter mais informações, confira Kusto role-based access control.
O processo de ingestão
As etapas a seguir descrevem o processo geral de ingestão:
Definir política de envio em lote (opcional): os dados são agrupados em lote com base na política de envio em lote de ingestão. Para obter diretrizes, consulte Otimizar para taxa de transferência.
Definir política de retenção (opcional): se a política de retenção do banco de dados não for adequada às suas necessidades, substitua-a no nível da tabela. Para obter mais informações, consulte Política de retenção.
Criar uma tabela: se você estiver usando a experiência Obter dados, poderá criar uma tabela como parte do fluxo de ingestão. Caso contrário, crie uma tabela antes da ingestão na interface do usuário da Web Azure Data Explorer ou com o comando .create table.
Criar um mapeamento de esquema: os mapeamentos de esquema ajudam a associar campos de dados de origem às colunas da tabela de destino. Há suporte para diferentes tipos de mapeamentos, incluindo formatos orientados a linhas, como CSV, JSON e AVRO, e formatos orientados a colunas, como Parquet. Na maioria dos métodos, os mapeamentos também podem ser pré-criados na tabela.
Definir política de atualização (opcional): determinados formatos de dados, como Parquet, JSON e Avro, permitem transformações diretas no momento da ingestão. Para um processamento mais complexo durante a ingestão, use a política de atualização. Essa política executa automaticamente extrações e transformações nos dados ingeridos na tabela original e, em seguida, ingere os dados modificados em uma ou mais tabelas de destino.
Ingerir dados: use sua ferramenta, conector ou método de ingestão preferido para trazer os dados.