Wat is Auto Loader?
Automatische laadprogramma's verwerken nieuwe gegevensbestanden stapsgewijs en efficiënt wanneer ze in de cloudopslag aankomen zonder extra instellingen.
Hoe werkt het automatisch laden?
Auto Loader verwerkt stapsgewijs en efficiënt nieuwe gegevensbestanden wanneer ze binnenkomen in de cloudopslag. Het biedt een structured streaming-bron met de naam cloudFiles
. Gezien een pad naar de invoermap in de opslag van cloudbestanden, verwerkt de cloudFiles
bron automatisch nieuwe bestanden wanneer ze binnenkomen, met de optie om ook bestaande bestanden in die map te verwerken. Auto Loader biedt ondersteuning voor zowel Python als SQL in DLT.
U kunt Auto Loader gebruiken om miljarden bestanden te verwerken om een tabel te migreren of aan te vullen. Auto Loader schaalt om de bijna real-time opname van miljoenen bestanden per uur te ondersteunen.
Ondersteunde bronnen voor automatisch laden
Auto Loader kan gegevensbestanden laden uit de volgende bronnen:
Amazon S3 (
s3://
)Azure Data Lake Storage Gen2 (ADLS Gen2,
abfss://
)Google Cloud Storage (GCS,
gs://
)Azure Blob Storage (
wasbs://
)Notitie
Het verouderde Windows Azure Storage Blob-stuurprogramma (WASB) is afgeschaft. ABFS heeft talloze voordelen ten opzichte van WASB. Raadpleeg de Azure-documentatie over ABFS. Zie Verbinding maken met Azure Blob Storage met WASB (verouderd) voor documentatie voor het werken met het verouderde WASB-stuurprogramma.
ADLS Gen1 (
adl://
)Notitie
Azure heeft aangekondigd dat de buitengebruikstelling van Azure Data Lake Storage Gen1 op handen is. Databricks raadt aan om alle gegevens van Azure Data Lake Storage Gen1 te migreren naar Azure Data Lake Storage Gen2. Als u nog niet bent gemigreerd, raadpleeg Toegang tot Azure Data Lake Storage Gen1 vanuit Azure Databricks.
Databricks File System (DBFS,
dbfs:/
).
Auto Loader kan bestandsindelingen zoals JSON
, CSV
, XML
, PARQUET
, AVRO
, ORC
, TEXT
, en BINARYFILE
opnemen.
Hoe houdt Auto Loader de invoervoortgang bij?
Wanneer bestanden worden gedetecteerd, worden de metagegevens bewaard in een schaalbaar sleutel-waardearchief (RocksDB) op de controlepuntlocatie van uw Auto Loader-pijplijn. Dit sleutel-waardearchief zorgt ervoor dat gegevens precies één keer worden verwerkt.
In het geval van storingen kan Auto Loader worden hervat vanaf de plek waar het is gebleven, door de informatie die is opgeslagen op de controlepuntlocatie, en blijft het exact eenmaal garanties bieden bij het schrijven van gegevens in Delta Lake. U hoeft zelf geen status te onderhouden of te beheren om fouttolerantie of exact eenmaal semantiek te bereiken.
Incrementele gegevensopname door gebruik te maken van Auto Loader met DLT
Databricks raadt Automatisch laden aan in DLT voor incrementele gegevensopname. DLT breidt de functionaliteit uit in Apache Spark Structured Streaming en stelt u in staat om slechts een paar regels declaratieve Python of SQL te schrijven om een gegevenspijplijn van productiekwaliteit te implementeren met:
- Automatische schaalaanpassing van rekeninfrastructuur voor kostenbesparingen
- Gegevenskwaliteitscontroles met verwachtingen
- Automatische schema-evolutie verwerking
- Bewaking via metrische gegevens in het gebeurtenislogboek
U hoeft geen schema of controlepuntlocatie op te geven, omdat DLT deze instellingen automatisch beheert voor uw pijplijnen. Zie Gegevens laden met DLT-.
Databricks raadt ook automatisch laden aan wanneer u Apache Spark Structured Streaming gebruikt om gegevens op te nemen uit de opslag van cloudobjecten. API's zijn beschikbaar in Python en Scala.
Aan de slag met Databricks Auto Loader
Zie de volgende artikelen om aan de slag te gaan met het configureren van incrementele gegevensopname met behulp van automatisch laden met DLT:
- Zelfstudie: Uw eerste ETL-workload uitvoeren op Databricks met behulp van voorbeeldgegevens (Python, SQL-notebook)
- Gegevens uit de opslag van cloudobjecten laden in streamingtabellen met behulp van Automatisch laden (Notebook: Python, SQL)
Voorbeelden: Veelvoorkomende patronen voor automatisch laden
Zie Algemene patronen voor het laden van gegevens voor voorbeelden van veelvoorkomende patronen voor automatisch laden.
Opties voor automatisch laden configureren
U kunt autolaadprogramma's afstemmen op basis van gegevensvolume, variatie en snelheid.
- Schemadeductie en ontwikkeling configureren in automatisch laadprogramma
- Automatisch laadprogramma configureren voor productieworkloads
Zie voor een volledige lijst met opties voor automatisch laden:
Als u onverwachte prestaties ondervindt, raadpleegt u de veelgestelde vragen.
Configuratiemodi voor Auto Loader bestandendetectie
Auto Loader ondersteunt twee bestandsdetectiemodi. Zie:
- Wat is de lijstmodus voor het automatisch laden van mappen?
- Wat is de meldingsmodus voor het automatisch laden van bestanden?
Voordelen van Auto Loader boven het rechtstreeks gebruiken van Gestructureerd Streamen op bestanden
In Apache Spark kunt u bestanden stapsgewijs lezen met behulp van spark.readStream.format(fileFormat).load(directory)
. Auto Loader biedt de volgende voordelen ten opzichte van de bestandsbron:
- Schaalbaarheid: Auto Loader kan miljarden bestanden efficiënt detecteren. Backfills kunnen asynchroon worden uitgevoerd om te voorkomen dat rekenresources worden verspild.
- Prestaties: de kosten voor het detecteren van bestanden met automatische laadprogramma's worden geschaald met het aantal bestanden dat wordt opgenomen in plaats van het aantal mappen waarin de bestanden kunnen terechtkomen. Zie Wat is de lijstmodus voor automatisch laden?.
- Ondersteuning voor schemadeductie en evolutie: Auto Loader kan schemadriften detecteren, u op de hoogte stellen wanneer schemawijzigingen plaatsvinden en gegevens redden die anders zouden zijn genegeerd of verloren zijn gegaan. Zie Hoe werkt de schema-inferrentie van Auto Loader?.
- Kosten: Auto Loader maakt gebruik van systeemeigen cloud-API's om lijsten op te halen met bestanden die in de opslag aanwezig zijn. Bovendien kan de bestandsmeldingsmodus van het Automatisch laadprogramma helpen uw cloudkosten verder te verlagen door mapvermeldingen helemaal te voorkomen. Auto Loader kan automatisch bestandsmeldingsdiensten in de opslag instellen om bestandsontdekking veel goedkoper te maken.