Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um cenário comum ao integrar ao Azure Data Explorer é ingerir dados históricos, às vezes chamados de backfill. O processo envolve a ingestão de dados de um sistema de armazenamento existente em uma tabela, que é uma coleção de extensões.
Ingerir dados históricos utilizando a propriedade de ingestão 'creationTime' para definir o tempo de criação dos extents como o momento em que os dados foram criados. Usar o tempo de criação como critério de particionamento de ingestão pode envelhecer seus dados de acordo com suas políticas de cache e retenção e tornar os filtros de tempo mais eficientes.
Por padrão, o tempo de criação de extensões é definido como o momento em que você ingere os dados, o que pode não produzir o comportamento esperado. Por exemplo, suponha que você tenha uma tabela que tenha um período de cache de 30 dias e um período de retenção de dois anos. No fluxo normal, os dados ingeridos à medida que são produzidos são armazenados em cache por 30 dias e, em seguida, movidos para armazenamento refrigerado. Após dois anos, com base no seu tempo de criação, os dados mais antigos são removidos um dia de cada vez. No entanto, se você ingerir dois anos de dados históricos, onde, por padrão, os dados são marcados com tempo de criação como a hora em que os dados são ingeridos. Esse comportamento pode não produzir o resultado desejado porque:
- Todos os dados ficam em cache e permanecem lá por 30 dias, usando mais cache do que você previa.
- Os dados mais antigos não são removidos um dia de cada vez; portanto, os dados são retidos no cluster por mais tempo do que o necessário e, após dois anos, são todos removidos de uma só vez.
- Os dados, anteriormente agrupados por data no sistema de origem, agora podem ser agrupados em lote na mesma medida, levando a consultas ineficientes.
Neste artigo, você aprenderá a particionar dados históricos:
Recomendado: utilizar a propriedade
creationTimedurante a ingestão.Sempre que possível, ingira dados históricos usando a
creationTimepropriedade de ingestão, que permite definir a hora de criação das extensões de dados extraindo-a do ficheiro ou caminho de blob. Se a estrutura de pastas não usar um padrão de data de criação, reestruture o caminho do arquivo ou blob para refletir o tempo de criação. Usando esse método, os dados são ingeridos na tabela com o tempo de criação correto e os períodos de cache e retenção são aplicados corretamente.Observação
Por padrão, as extensões são particionadas por tempo de criação (ingestão) e, na maioria dos casos, não há necessidade de definir uma política de particionamento de dados.
Usando uma política de particionamento após a ingestão
Se você não puder usar a
creationTimepropriedade de ingestão, por exemplo, se estiver ingerindo dados usando o conector do Azure Cosmos DB em que não pode controlar o tempo de criação ou se não pode reestruturar sua estrutura de pastas, poderá reparticionar a tabela após ingestão para obter o mesmo efeito usando a política de particionamento. No entanto, esse método pode exigir alguma tentativa e erro para otimizar as propriedades da política e é menos eficiente do que usar acreationTimepropriedade de ingestão. Use este método somente quando não for possível usar acreationTimepropriedade de ingestão.
Pré-requisitos
- Uma conta Microsoft ou uma identidade de utilizador do Microsoft Entra. Você não precisa de uma assinatura do Azure.
- Um cluster e um banco de dados do Azure Data Explorer. Crie um cluster e um banco de dados.
- Uma conta de armazenamento.
- Para o método recomendado de usar a propriedade de ingestão durante a
creationTimeingestão, instale LightIngest.
Ingerir dados históricos
Particione dados históricos durante a ingestão usando a propriedade creationTime de ingestão. Se você não pode usar esse método, você pode reparticionar a tabela após a ingestão usando uma política de particionamento.
O LightIngest é útil para carregar dados históricos de um sistema de armazenamento existente para o Azure Data Explorer. Embora você possa criar seu próprio comando usando a lista de argumentos de linha de comando, este artigo mostra como gerar automaticamente esse comando por meio de um assistente de ingestão. Além de criar o comando, você pode usar esse processo para criar uma nova tabela e criar mapeamento de esquema. Esta ferramenta deduz o mapeamento de esquema a partir do seu conjunto de dados.
Destino
Na interface do usuário da Web do Azure Data Explorer, no menu à esquerda, selecione Consulta.
Clique com o botão direito do rato na base de dados onde pretende ingerir os dados e, em seguida, selecione LightIngest.
A janela Ingerir dados é aberta com a guia Destino selecionada. Os campos Cluster e Banco de Dados são preenchidos automaticamente.
Selecione uma tabela de destino. Para ingerir dados numa nova tabela, selecione Nova tabela e, em seguida, introduza um nome de tabela.
Observação
Os nomes das tabelas podem ter até 1.024 caracteres, incluindo espaços, caracteres alfanuméricos, hífenes e sublinhados. Não há suporte para caracteres especiais.
Selecione Next: Source.
Fonte
Em Selecionar origem, selecione Adicionar URL ou Selecionar contêiner.
Ao adicionar uma URL, em Vincular à origem, especifique a chave da conta ou a URL SAS para um contêiner. Você pode criar a URL SAS manualmente ou automaticamente.
Ao escolher um contentor da sua conta de armazenamento, selecione a sua assinatura de armazenamento, conta de armazenamento e contentor nos menus suspensos.
Observação
A ingestão suporta um tamanho máximo de ficheiro de 6 GB. A recomendação é ingerir arquivos entre 100 MB e 1 GB.
Selecione Configurações avançadas para definir configurações adicionais para o processo de ingestão usando LightIngest.
No painel Configuração avançada , defina as configurações do LightIngest de acordo com a tabela a seguir.
Propriedade Description Padrão de tempo de criação Especifique para substituir a propriedade de tempo de ingestão da extensão criada por um padrão, por exemplo, para aplicar uma data com base na estrutura de pastas do contentor. Consulte também Padrão de tempo de criação. Padrão de nome de blob Especifique o padrão usado para identificar os arquivos a serem ingeridos. Ingerir todos os ficheiros que correspondem ao padrão de nome de blob no contentor dado. Suporta curingas. Recomendamos colocar entre aspas duplas. Etiqueta Uma tag atribuída aos dados ingeridos. A tag pode ser qualquer sequência de caracteres. Limitar a quantidade de ficheiros Especifique o número de arquivos a serem ingeridos. Ingere os primeiros nficheiros que correspondam ao padrão de nome de blob, até ao número especificado.Não espere que a ingestão termine Se definido, enfileira as bolhas para ingestão sem monitorar o processo de ingestão. Se não estiver definido, LightIngest continuará a sondar o estado de ingestão até que a ingestão esteja completa. Exibir apenas itens selecionados Liste os arquivos no contêiner, mas não os ingere. Selecione Concluído para retornar à guia Origem .
Opcionalmente, selecione Filtros de arquivo para filtrar os dados para ingerir apenas arquivos em um caminho de pasta específico ou com uma extensão de arquivo específica.
Por padrão, um dos arquivos no contêiner é selecionado aleatoriamente e usado para gerar o esquema para a tabela.
Opcionalmente, em Esquema definindo arquivo, especifique o arquivo a ser usado.
Selecione Next: Schema para visualizar e editar a configuração da coluna da tabela.
Schema
O separador esquema fornece uma pré-visualização dos dados.
Para gerar o comando LightIngest, selecione Next: Start Ingestion.
Opcionalmente:
- Altere o formato de dados inferido automaticamente selecionando o formato desejado no menu suspenso.
- Altere o nome do mapeamento inferido automaticamente. Você pode usar caracteres alfanuméricos e sublinhados. Espaços, caracteres especiais e hífenes não são suportados.
- Ao usar uma tabela existente, você pode Manter o esquema de tabela atual se o esquema de tabela corresponder ao formato selecionado.
- Selecione Visualizador de comandos para visualizar e copiar os comandos automáticos gerados a partir de suas entradas.
- Editar colunas. Em Visualização parcial de dados, selecione os menus suspensos de coluna para alterar vários aspetos da tabela.
As alterações que você pode fazer em uma tabela dependem dos seguintes parâmetros:
- O tipo de tabela é novo ou existente
- Tipo de mapeamento é novo ou existente
| Tipo de tabela | Tipo de mapeamento | Ajustes disponíveis |
|---|---|---|
| Nova tabela | Novo mapeamento | Alterar tipo de dados, Renomear coluna, Nova coluna, Excluir coluna, Atualizar coluna, Classificar crescente, Classificar decrescente |
| Tabela existente | Novo mapeamento | Nova coluna (na qual você pode alterar o tipo de dados, renomear e atualizar), Coluna Atualizar, Ordenar em ordem crescente, Ordenar em ordem descendente |
| Mapeamento existente | Ordenar ascendente, Ordenar descendente |
Observação
Ao adicionar uma nova coluna ou atualizar uma coluna, você pode alterar as transformações de mapeamento. Para obter mais informações, consulte Mapeando transformações
Ingerir
Quando a tabela, o mapeamento e o comando LightIngest mostrarem marcas de seleção verdes, selecione o ícone de cópia no canto superior direito da caixa de comando Gerado para copiar o comando LightIngest gerado.
Observação
Se necessário, você pode baixar a ferramenta LightIngest selecionando Download LightIngest.
Para concluir o processo de ingestão, você deve executar LightIngest usando o comando copiado.