Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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. Uma vez 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 em fila. Para determinar o que é certo 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 o seu caso de uso:
Para obter mais informações, consulte a documentação relevante:
Texto explicativo | Documentação relevante |
---|---|
![]() |
Consulte os formatos de dados suportados pelo Azure Data Explorer para ingestão. |
![]() |
Consulte os formatos de ficheiro suportados para 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, do Amazon S3 ou do 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 contínua de dados
A ingestão contínua se destaca em situações que exigem insights imediatos de dados ao vivo. 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 através de transmissão contínua ou ingestão em fila.
Ingestão de streaming: este método garante latência quase em tempo real para pequenos conjuntos de dados por tabela. Os dados são ingeridos em microlotes de uma fonte de streaming, inicialmente colocados no armazenamento em linha e, em seguida, transferidos para extensões de armazenamento em coluna. Para obter mais informações, consulte Configurar a ingestão de streaming.
Ingestão em fila: Este método é otimizado para alto desempenho de ingestão. Os dados são agrupados em lote com base nas propriedades de ingestão, com pequenos lotes mesclados e otimizados para resultados de consulta rápidos. Por padrão, os valores máximos enfileirados 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 em 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 ingestão em fila, consulte Política de lote de ingestão.
Observação
Para a maioria dos cenários, recomendamos o uso da ingestão em fila, pois é a opção com mais desempenho.
Observação
A ingestão em fila garante um buffer de dados confiável 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 assim que o limite de 7 dias for excedido. Para evitar perda de dados e atrasos na ingestão, certifique-se de que seu cluster tenha 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 o seu caso de uso:
Para obter mais informações, consulte a documentação relevante:
Texto explicativo | Documentação relevante |
---|---|
![]() |
Para obter uma lista de conectores, consulte Visão geral de conectores. |
![]() |
Crie uma conexão de dados de Hubs de Eventos. A integração com Event Hubs fornece serviços como limitação, tentativas, monitorização e alertas. |
![]() |
Importar dados do Apache Kafka, um sistema de streaming distribuído 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 oferece serviços tais como restrição, tentativas, monitorização e alertas. |
![]() |
Crie uma conexão de dados da Grade de Eventos. A integração com o Event Grid fornece serviços como limitação, tentativas, monitorização e alertas. |
![]() |
Consulte as orientações 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 de 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
A ingestão por streaming não é suportada para todos os métodos de ingestão. Para obter detalhes de suporte, verifique a documentação para o 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. Devem ser utilizados apenas para exploração e prototipagem e não em cenários de produção ou de grande volume.
- Ingestão embutida: O comando .ingest inline contém os dados a serem ingeridos como parte do próprio texto do comando. Este método destina-se a ensaios improvisados.
- Ingest from query: Os comandos .set, .append, .set-or-append ou .set-or-replace especificam indiretamente os dados a serem ingeridos como resultados de uma consulta ou comando.
- Ingerir a partir do armazenamento: o comando .ingest into obtém os dados para ingestão a partir do armazenamento externo, como o Armazenamento de Blobs do Azure, acessível pelo cluster e indicado pelo comando.
Observação
No caso de uma falha, a ingestão é realizada novamente e é repetida por até 48 horas usando o método de backoff exponencial para o tempo de espera entre as 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 ficheiro | Transmissão contínua, em fila, direto | Cenários mais comuns | Considerações |
---|---|---|---|---|---|
Conector Apache Spark | Todos os formatos suportados pelo ambiente Spark | Ilimitado | Em fila de espera | Pipeline existente, pré-processamento no Spark antes da ingestão, maneira rápida de criar um pipeline de streaming seguro (Spark) das várias fontes suportadas pelo ambiente Spark. | Considere o custo do cluster Spark. Para gravação em lote, compare com a conexão de dados do Azure Data Explorer para Grade de Eventos. Para a transmissão do Spark, compare com a ligação de dados para o hub de eventos. |
Azure Data Factory (ADF) | Formatos de dados suportados | Sem limites. Herda restrições do ADF. | Colocado na fila ou por disparador do ADF | Suporta formatos sem suporte, como Excel e XML, e pode copiar arquivos grandes de mais de 90 fontes, do local para a nuvem | Este 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. |
Grelha de Eventos | Formatos de dados suportados | 1 GB sem compressão | Em fila de espera | Ingestão contínua a partir do armazenamento do Azure; dados externos no armazenamento do Azure | A ingestão pode ser desencadeada por ações de renomeação ou criação de blobs. |
Hub de Eventos | Formatos de dados suportados | N/A | Em fila, a transmitir | Mensagens, eventos | |
Obtenha experiência de dados | *SV, JSON | 1 GB sem compressão | Ingestão em fila ou direta | Único, criar esquema de tabela, definição de ingestão contínua com o Event Grid, ingestão em massa com contentor (até 5.000 blobs; sem limite ao usar ingestão histórica) | |
Hub IoT | Formatos de dados suportados | N/A | Em fila, a transmitir | Mensagens IoT, eventos IoT, propriedades IoT | |
Conector Kafka | Avro, ApacheAvro, JSON, CSV, Parquet e ORC | Sem limites. Herda restrições Java. | Em fila, a transmitir | Tubulação existente, alto consumo de volume da fonte. | A preferência pode ser determinada pela utilização existente de um serviço de múltiplos produtores ou consumidores ou pelo nível desejado de gestão de serviços. |
bibliotecas de cliente Kusto | Formatos de dados suportados | 1 GB sem compressão | Em espera, streaming, direto | Escreva o seu próprio código de acordo com as necessidades organizacionais | 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 suportados | 1 GB sem compressão | Ingestão em fila ou direta | Migração de dados, dados históricos com carimbos de data e hora de ingestão ajustados, ingestão em massa | Sensível a maiúsculas e minúsculas e espaço |
Aplicações Lógicas | Formatos de dados suportados | 1 GB sem compressão | Em fila de espera | Usado para automatizar fluxos de trabalho | |
LogStash | JSON (JavaScript Object Notation) | Sem limites. Herda restrições Java. | Em fila de espera | Pipeline existente, use a natureza madura e de código aberto do Logstash para consumo de alto volume do(s) insumo(s). | A preferência pode ser determinada pela utilização existente de um serviço de múltiplos produtores ou consumidores ou pelo nível desejado de gestão de serviços. |
Automatize o poder | Formatos de dados suportados | 1 GB sem compressão | Em fila de espera | 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 do 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 Ingestor de Tabela |
Ingestão contínua de streaming | Pelo menos Ingestor de Tabela |
Ingestão contínua em fila | Pelo menos Ingestor de Tabela |
Ingestão direta em linha | Pelo menos Table Ingestor e também Database Viewer |
Ingestão direta da consulta | Pelo menos Table Ingestor e também Database Viewer |
Ingestão direta a partir do armazenamento | Pelo menos Ingestor de Tabela |
Para obter mais informações, consulte controle de acesso baseado em função Kusto.
O processo de ingestão
As etapas a seguir descrevem o processo geral de ingestão:
Definir política de lote (opcional): os dados são agrupados em lote com base na política de lotes de ingestão. Para obter orientação, consulte Otimizar pela taxa de transferência.
Definir política de retenção (opcional): se a política de retenção de banco de dados não for adequada às suas necessidades, substitua-a no nível da tabela. Para obter mais informações, veja Política de retenção.
Criar uma tabela: se estiver a utilizar a experiência Obter dados, pode 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 do Azure Data Explorer ou com o comando .create table.
Criar um mapeamento de esquema: os mapeamentos de esquema ajudam a vincular os campos de dados de origem às colunas da tabela de destino. Diferentes tipos de mapeamentos são suportados, 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): Certos formatos de dados como Parquet, JSON e Avro permitem transformações diretas em tempo de ingestão. Para um processamento mais complexo durante a ingestão, use a política de atualização. Esta 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.