Pular para o conteúdo principal

O que é o Auto Loader?

O Auto Loader processa de forma progressiva e eficiente novos arquivos de dados à medida que chegam ao armazenamento em nuvem sem qualquer configuração adicional.

Como o Auto Loader funciona?

O Auto Loader processa de forma incremental e eficiente novos arquivos de dados à medida que eles chegam ao armazenamento em nuvem. Ele fornece uma fonte de transmissão estruturada chamada cloudFiles. Com um caminho de diretório de entrada no armazenamento de arquivos em nuvem, a fonte cloudFiles processa automaticamente novos arquivos à medida que eles chegam, com a opção de também processar os arquivos existentes nesse diretório. O Auto Loader tem suporte para Python e SQL em DLT.

Você pode usar o Auto Loader para processar bilhões de arquivos para migrar ou preencher uma tabela. O Auto Loader é dimensionado para ser compatível com a ingestão quase em tempo real de milhões de arquivos por hora.

Fontes suportadas pelo Auto Loader

O Auto Loader pode carregar arquivos de dados das seguintes fontes:

  • Amazon S3 (s3://)

  • Azure lago de dados Armazenamento (ADLS, abfss://)

  • Google Cloud Storage (GCS, gs://)

  • Azure Blob Storage (wasbs://)

nota

O driver herdado do Blob de armazenamento do Windows Azure (WASB) foi descontinuado. O ABFS tem vários benefícios em relação ao WASB. Consulte a documentação do Azure sobre ABFS. Para obter a documentação sobre como trabalhar com o driver WASB legado, consulte Conectar-se ao armazenamento Azure Blob com WASB (legado).

  • Databricks File System (DBFS, dbfs:/).

O Auto Loader pode ingerir os formatos de arquivo JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT e BINARYFILE.

Como o Auto Loader acompanha o progresso da ingestão?

Conforme os arquivos são descobertos, seus metadados são mantidos em um armazenamento de chave-valor escalável (RocksDB) no local do ponto de verificação do pipeline do Auto Loader. Esse armazenamento de chave-valor garante que os dados sejam processados todos de uma vez.

Em caso de falhas, o Auto Loader pode retomar de onde parou por meio de informações armazenadas no local do ponto de verificação e continuar a fornecer garantias únicas ao gravar dados no Delta Lake. Você não precisa manter ou gerenciar nenhum estado sozinho para obter tolerância a falhas ou semântica de única.

Ingestão incremental usando o Auto Loader com DLT

A Databricks recomenda o Auto Loader no DLT para a ingestão de dados incrementais. O DLT amplia a funcionalidade da Apache Spark transmissão estruturada e permite que o senhor escreva apenas algumas linhas de declaração Python ou SQL para implantar um pipeline de dados com qualidade de produção:

  • Dimensionamento automático da infraestrutura de computação para redução de custos
  • Verificações de qualidade de dados com expectativas
  • Tratamento automático da evolução do esquema
  • monitoramento via métricas no evento log

O senhor não precisa fornecer um esquema ou local de ponto de verificação porque a DLT gerencia automaticamente essas configurações para o seu pipeline. Consulte Carregar dados com DLT.

Databricks também recomenda Auto Loader sempre que o senhor usar Apache Spark transmissão estruturada para ingerir dados do armazenamento de objetos na nuvem. As APIs estão disponíveis em Python e Scala.

Obter começar com Databricks Auto Loader

Consulte os artigos a seguir para começar a configurar a ingestão de dados incrementais usando o Auto Loader com DLT:

Exemplos: Padrões comuns do Auto Loader

Para obter exemplos de padrões comuns do Auto Loader, consulte Padrões comuns de carregamento de dados.

Configurar as opções do Auto Loader

Você pode ajustar o Auto Loader com base no volume de dados, variedade e velocidade.

Para obter uma lista completa das opções do Auto Loader, consulte:

Se o senhor encontrar um desempenho inesperado, consulte as perguntas frequentes.

Configurar os modos de detecção de arquivos do Auto Loader

O Auto Loader suporta dois modos de detecção de arquivos. Veja:

Benefícios do Auto Loader em relação ao uso da transmissão estruturada diretamente nos arquivos

No Apache Spark, você pode ler arquivos de forma incremental usando spark.readStream.format(fileFormat).load(directory). O Auto Loader oferece os seguintes benefícios em relação à origem do arquivo:

  • Escalabilidade: o Auto Loader pode descobrir bilhões de arquivos com eficiência. Os preenchimentos podem ser executados de forma assíncrona para evitar o desperdício de recursos de computação.
  • desempenho: o custo de descoberta de arquivos com Auto Loader escala com o número de arquivos que estão sendo ingeridos em vez do número de diretórios em que os arquivos podem ser encontrados. Consulte O que é o modo de listagem de diretórios do Auto Loader?
  • Suporte à inferência e evolução de esquemas: O Auto Loader pode detectar desvios de esquema, notificá-lo quando ocorrerem alterações de esquema e resgatar dados que, de outra forma, teriam sido ignorados ou perdidos. Consulte Como funciona a inferência de esquema do Auto Loader.
  • Custo: O Auto Loader usa APIs nativas da nuvem para obter listas de arquivos existentes no armazenamento. Além disso, o modo de notificação de arquivos do Auto Loader pode ajudar a reduzir ainda mais seus custos de nuvem, evitando a listagem de diretórios. Auto Loader pode configurar automaticamente o serviço de notificação de arquivos no armazenamento para tornar a descoberta de arquivos muito mais barata.