Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 Lakeflow Declarative Pipelines.
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 (ADLS,
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.
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 de status niet zelf te onderhouden of te beheren om fouttolerantie of exacte éénmaalsemantiek te bereiken.
Stapsgewijze opname met behulp van Auto Loader met Lakeflow-declaratieve pijplijnen
Databricks raadt Auto Loader aan in Lakeflow Declarative Pipelines voor incrementele gegevensopname. Lakeflow-declaratieve pijplijnen 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 voor het implementeren van een gegevenspijplijn van productiekwaliteit 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 Lakeflow-declaratieve pijplijnen deze instellingen automatisch beheert voor uw pijplijnen. Zie Gegevens laden met declaratieve pijplijnen van Lakeflow.
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 Auto Loader met Lakeflow Declarative Pipelines:
- Zelfstudie: Een ETL-pijplijn bouwen met Lakeflow-declaratieve pijplijnen
- Gegevens onboarden vanuit Azure Data Lake Storage
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:
- Automatisch laden streams met directory-vermeldingsmodus
- Automatische laadstroom configureren in de meldingsmodus voor 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 Automatische laadstromen met de modus voor adreslijstvermeldingen.
- 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.