Partilhar via


O que é Auto Loader?

O Carregador Automático processa de modo incremental e eficiente os novos ficheiros de dados à medida que chegam ao armazenamento na cloud sem qualquer configuração adicional.

Como funciona o Auto Loader?

O Auto Loader processa de forma incremental e eficiente novos ficheiros de dados à medida que chegam ao armazenamento na nuvem. O Auto Loader pode carregar arquivos de dados do AWS S3 (s3://), Azure Data Lake Storage Gen2 (ADLS Gen2, abfss://), Google Cloud Storage (GCS, gs://), Azure Blob Storage (wasbs://), ADLS Gen1 (adl://) e Databricks File System (DBFS, dbfs:/). Auto Loader pode ingerir JSON, CSV, XML, PARQUET, AVRO, ORCTEXT, e BINARYFILE formatos de arquivo.

Nota

O Auto Loader fornece uma fonte de Streaming Estruturado chamada cloudFiles. Dado um caminho de diretório de entrada no armazenamento de arquivos em nuvem, a fonte processa cloudFiles automaticamente novos arquivos à medida que eles chegam, com a opção de também processar arquivos existentes nesse diretório. Auto Loader tem suporte para Python e SQL em Delta Live Tables.

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

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

À medida que 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 exatamente uma vez.

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

Ingestão incremental usando Auto Loader com Delta Live Tables

A Databricks recomenda o Auto Loader em Delta Live Tables para ingestão incremental de dados. O Delta Live Tables estende a funcionalidade no Apache Spark Structured Streaming e permite que você escreva apenas algumas linhas de Python ou SQL declarativo para implantar um pipeline de dados com qualidade de produção com:

  • Dimensionamento automático da infraestrutura de computação para economia de custos
  • Verificações de qualidade de dados com expectativas
  • Tratamento automático da evolução do esquema
  • Monitoramento por meio de métricas no log de eventos

Você não precisa fornecer um esquema ou local de ponto de verificação porque o Delta Live Tables gerencia automaticamente essas configurações para seus pipelines. Consulte Carregar dados com Delta Live Tables.

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

Introdução ao Databricks Auto Loader

Consulte os seguintes artigos para começar a configurar a ingestão incremental de dados usando o Auto Loader com Delta Live Tables:

Exemplos: Padrões comuns do carregador automático

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

Configurar opções do Auto Loader

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

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

Se encontrar um desempenho inesperado, consulte as Perguntas frequentes.

Configurar os modos de deteção de ficheiros do Auto Loader

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

Benefícios do Auto Loader em relação ao uso do Structured Streaming diretamente nos arquivos

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

  • Escalabilidade: Auto Loader pode descobrir bilhões de arquivos de forma eficiente. Os backfills podem ser realizados de forma assíncrona para evitar o desperdício de recursos de computação.
  • Desempenho: O custo de descobrir arquivos com o Auto Loader é dimensionado com o número de arquivos que estão sendo ingeridos em vez do número de diretórios em que os arquivos podem chegar. Consulte O que é o modo de listagem de diretórios do Auto Loader?.
  • Inferência de esquema e suporte à evolução: o Auto Loader pode detetar desvios de esquema, notificá-lo quando alterações de esquema acontecerem 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 na nuvem para obter listas de arquivos que existem no armazenamento. Além disso, o modo de notificação de arquivos do Auto Loader pode ajudar a reduzir ainda mais seus custos na nuvem, evitando completamente a listagem de diretórios. O Auto Loader pode configurar automaticamente os serviços de notificação de arquivos no armazenamento para tornar a descoberta de arquivos muito mais barata.