Wat is Automatisch laden?
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 Delta Live Tables.
U kunt automatisch laden gebruiken om miljarden bestanden te verwerken om een tabel te migreren of te vullen. Automatische laadprogramma's worden geschaald ter ondersteuning van bijna realtime opname van miljoenen bestanden per uur.
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 in behandeling 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, raadpleegt u Toegang tot Azure Data Lake Storage Gen1 vanuit Azure Databricks.
Databricks File System (DBFS,
dbfs:/
).
Automatische laadprogramma's kunnen bestandsindelingen opnemenJSON
, , XML
CSV
, PARQUET
, AVRO
, ORC
, en TEXT
BINARYFILE
bestandsindelingen.
Hoe wordt de opnamevoortgang van het autolader bijgehouden?
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 automatisch laadprogramma worden hervat vanaf waar het is gebleven door informatie die is opgeslagen op de controlepuntlocatie en exact eenmaal garanties blijven 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 opname met behulp van automatisch laden met Delta Live Tables
Databricks raadt Automatisch laden aan in Delta Live Tables voor incrementele gegevensopname. Delta Live Tables 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 verwerking van schemaontwikkeling
- Bewaking via metrische gegevens in het gebeurtenislogboek
U hoeft geen schema- of controlepuntlocatie op te geven, omdat deze instellingen automatisch worden beheerd voor uw pijplijnen. Zie Gegevens laden met Delta Live Tables.
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 Delta Live Tables:
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.
Detectiemodi voor automatisch laden van bestanden configureren
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 automatisch laden met behulp van Gestructureerd streamen rechtstreeks 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 deductie van het autolaadprogramma?.
- 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. Automatisch laden kan automatisch bestandsmeldingsservices in de opslag instellen om bestandsdetectie veel goedkoper te maken.