O que é o Carregador Automático?

O Carregador automático processa de forma incremental e eficiente novos arquivos de dados à medida que chegam ao armazenamento em nuvem sem qualquer configuração adicional.

Como o Carregador automático funciona?

O Carregador automático processa de forma incremental e eficiente novos arquivos de dados à medida que chegam ao armazenamento em nuvem. O Carregador Automático pode carregar arquivos de dados da AWS S3 (s3://), do Azure Data Lake Storage Gen2 (ADLS Gen2, abfss://), do Google Cloud Storage (GCS, gs://), Armazenamento de Blobs do Azure (wasbs://), do ADLS Gen1 (adl://) e do Sistema de arquivos do Databricks (DBFS, dbfs:/). O Auto Loader pode ingerir formatos JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT, e BINARYFILE arquivos.

Observação

O Carregador automático fornece uma fonte de Fluxo estruturado chamada cloudFiles. Dado um caminho de diretório de entrada no armazenamento de arquivos em nuvem, a origem cloudFiles processa automaticamente novos arquivos conforme chegam, com a opção de também processar arquivos existentes nesse diretório. O Carregador Automático é compatível com Python e SQL no Delta Live Tables.

Você pode usar o Carregador Automático para processar bilhões de arquivos para migrar ou fazer provisionamento de uma tabela. O Carregador Automático é dimensionado para dar suporte à ingestão quase em tempo real de milhões de arquivos por hora.

Como o Carregador Automático acompanha o progresso da ingestão?

À medida que os arquivos são descobertos, os metadados são persistidos em um armazenamento de chave-valor escalonável (RocksDB) no local do ponto de verificação do pipeline do Carregador automático. Esse armazenamento de chave-valor garante que os dados sejam processados apenas uma vez.

Em caso de falhas, o Carregador automático retoma de onde foi deixado, usando informações armazenadas no local do ponto de verificação, e continua fornecendo garantias apenas uma vez ao gravar ps dados no Delta Lake. Não é necessário manter nem gerenciar nenhum estado para obter tolerância a falhas ou semântica apenas uma vez.

Ingestão incremental usando o Carregador Automático com Tabelas Dinâmicas Delta

O Databricks recomenda o Carregador Automático no Delta Live Tables para a ingestão incremental de dados. O Delta Live Tables estende a funcionalidade no Streaming Estruturado do Apache Spark e permite que você escreva apenas algumas linhas de SQL ou Python declarativo para implantar um pipeline de dados com qualidade de produção com:

  • Infraestrutura de computação de dimensionamento automático 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 local de ponto de verificação ou esquema porque o Delta Live Tables gerencia automaticamente essas configurações para seus pipelines. Consulte Carregar dados com o Delta Live Tables.

O Databricks também recomenda o Carregador Automático sempre que você usa o Streaming Estruturado do Apache Spark para ingerir dados do armazenamento de objetos de nuvem. As APIs estão disponíveis em Python e Scala.

Introdução ao Carregador Automático do Databricks

Confira os seguintes artigos para começar a configurar a ingestão de dados incremental usando o Carregador Automático com Tabelas Dinâmicas Delta:

Exemplos: Padrões comuns do Carregador Automático

Para obter exemplos de padrões comuns do Carregador Automático, consulte Padrões comuns de carregamento de dados.

Configurar opções do Carregador Automático

Você pode ajustar o Carregador Automático com base no volume de dados, variedade e velocidade.

Para obter uma lista completa de opções do Carregador Automático, confira:

Se você encontrar um desempenho inesperado, consulte as Perguntas frequentes.

Configurar modos de detecção de arquivo do Carregador Automático

O Carregador Automático dá suporte a dois modos de detecção de arquivo. Consulte:

Benefícios do Carregador Automático em relação ao uso do Streaming Estruturado diretamente nos arquivos

No Apache Spark, é possível ler arquivos de forma incremental usando spark.readStream.format(fileFormat).load(directory). O Carregador Automático fornece os seguintes benefícios em relação à origem do arquivo:

  • Escalabilidade: o Carregador Automático pode descobrir bilhões de arquivos com eficiência. Os provisionamentos podem ser executados de forma assíncrona para evitar o desperdício de recursos de computação.
  • Desempenho: o custo da descoberta de arquivos com o Carregador Automático é dimensionado com o número de arquivos que estão sendo ingeridos em vez do número de diretórios nos quais os arquivos podem ser lançados. Consulte O que é o modo de listagem de diretório do Carregador Automático?.
  • Suporte à inferência de esquema e evolução: o Carregador Automático pode detectar desacordos de esquema, notificá-lo quando ocorrem alterações de esquema e resgatar dados que seriam ignorados ou perdidos. Veja Como funciona a inferência de esquema do Carregador Automático?.
  • Custo: o Carregador Automático usa APIs de nuvem nativas para obter listas de arquivos que existem no armazenamento. Além disso, o modo de notificação de arquivos do Carregador Automático pode ajudar a reduzir ainda mais os custos de nuvem, evitando completamente a listagem de diretórios. O Carregador Automático pode configurar automaticamente os serviços de notificação de arquivo no armazenamento para tornar a descoberta de arquivos muito mais barata.