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. Ele 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.
Fontes do Carregador Automático com suporte
O Carregador Automático pode carregar arquivos de dados das seguintes fontes:
Amazon S3 (
s3://
)Azure Data Lake Storage Gen2 (ADLS Gen2,
abfss://
)Google Cloud Storage (GCS,
gs://
)Azure Blob Storage (
wasbs://
)Observação
O driver do WASB (Azure Storage Blob do Windows) herdado foi preterido. O ABFS tem inúmeros benefícios em relação ao WASB. Consulte a Documentação do Azure no ABFS. Para obter documentação para trabalhar com o driver WASB herdado, consulte Conectar-se ao Armazenamento de Blobs do Azure com o WASB (herdado).
ADLS Gen1 (
adl://
)Observação
O Azure anunciou a aposentadoria pendente do Azure Data Lake Storage Gen1. O Databricks recomenda migrar todos os dados do Azure Data Lake Storage Gen1 para o Azure Data Lake Storage Gen2. Se você ainda não migrou, confira Acessar o Azure Data Lake Storage Gen1 do Azure Databricks.
Sistema de Arquivos do Databricks (DBFS,
dbfs:/
).
O Auto Loader pode ingerir formatos JSON
, CSV
, XML
, PARQUET
, AVRO
, ORC
, TEXT
, e BINARYFILE
arquivos.
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.
- Configurar a inferência e a evolução de esquema no Carregador Automático
- Configurar o Carregador Automático para cargas de trabalho de produção
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:
- O que é o modo de listagem de diretórios do Carregador Automático?
- O que é o modo de notificação de arquivo do Carregador Automático?
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.