Vad är automatisk inläsning?

Automatisk inläsning bearbetar inkrementellt och effektivt nya datafiler när de tas emot i molnlagring utan ytterligare installation.

Hur fungerar automatisk inläsning?

Automatisk inläsning bearbetar inkrementellt och effektivt nya datafiler när de tas emot i molnlagringen. Automatisk inläsning kan läsa in datafiler från AWS S3 (s3://), Azure Data Lake Storage Gen2 (ADLS Gen2, abfss://), Google Cloud Storage (GCS, gs://), Azure Blob Storage (wasbs://), ADLS Gen1 (adl://) och Databricks File System (DBFS, dbfs:/). Automatisk inläsning kan mata in JSON, CSV, XML, PARQUET, AVRO, ORC, TEXToch BINARYFILE filformat.

Kommentar

Automatisk inläsning tillhandahåller en strukturerad strömningskälla med namnet cloudFiles. Med tanke på en sökväg till indatakatalogen i molnfillagringen cloudFiles bearbetar källan automatiskt nya filer när de tas emot, med möjlighet att även bearbeta befintliga filer i katalogen. Automatisk inläsning har stöd för både Python och SQL i Delta Live Tables.

Du kan använda Auto Loader för att bearbeta miljarder filer för att migrera eller fylla i en tabell. Automatisk inläsning skalar för att stödja inmatning i nära realtid av miljontals filer per timme.

Hur spårar automatisk inläsning förlopp?

När filer identifieras sparas deras metadata i ett skalbart nyckelvärdeslager (RocksDB) på kontrollpunktsplatsen för din autoinläsningspipeline. Det här nyckelvärdeslagret säkerställer att data bearbetas exakt en gång.

Vid fel kan autoinläsaren återuppta från den plats där den slutade med information som lagras på kontrollpunktsplatsen och fortsätta att ge garantier exakt en gång när du skriver data till Delta Lake. Du behöver inte underhålla eller hantera något tillstånd själv för att uppnå feltolerans eller exakt en gång semantik.

Inkrementell inmatning med automatisk inläsning med Delta Live Tables

Databricks rekommenderar automatisk inläsning i Delta Live Tables för inkrementell datainmatning. Delta Live Tables utökar funktionerna i Apache Spark Structured Streaming och gör att du bara kan skriva några rader deklarativ Python eller SQL för att distribuera en datapipeline av produktionskvalitet med:

Du behöver inte ange någon schema- eller kontrollpunktsplats eftersom Delta Live Tables automatiskt hanterar dessa inställningar för dina pipelines. Se Läsa in data med Delta Live Tables.

Databricks rekommenderar också automatisk inläsning när du använder Apache Spark Structured Streaming för att mata in data från molnobjektlagring. API:er är tillgängliga i Python och Scala.

Kom igång med Automatisk inläsning av Databricks

Se följande artiklar för att komma igång med att konfigurera inkrementell datainmatning med automatisk inläsning med Delta Live Tables:

Exempel: Vanliga mönster för automatisk inläsning

Exempel på vanliga mönster för automatisk inläsning finns i Vanliga datainläsningsmönster.

Konfigurera alternativ för automatisk inläsning

Du kan justera automatisk inläsning baserat på datavolym, variation och hastighet.

En fullständig lista över alternativ för automatisk inläsning finns i:

Om du får oväntade prestanda kan du läsa vanliga frågor och svar.

Konfigurera filidentifieringslägen för automatisk inläsning

Automatisk inläsning stöder två lägen för filidentifiering. Se:

Fördelar med automatisk inläsning jämfört med att använda strukturerad direktuppspelning på filer

I Apache Spark kan du läsa filer stegvis med hjälp av spark.readStream.format(fileFormat).load(directory). Automatisk inläsning ger följande fördelar jämfört med filkällan:

  • Skalbarhet: Automatisk inläsare kan identifiera miljarder filer effektivt. Återfyllnad kan utföras asynkront för att undvika slöseri med beräkningsresurser.
  • Prestanda: Kostnaden för att identifiera filer med automatisk inläsning skalar med antalet filer som matas in i stället för antalet kataloger som filerna kan landa i. Se Vad är kataloglistningsläge för automatisk inläsning?.
  • Stöd för schemainferens och utveckling: Auto Loader kan identifiera schemaavvikelser, meddela dig när schemaändringar inträffar och rädda data som annars skulle ha ignorerats eller förlorats. Se Hur fungerar schemainferens för automatisk inläsning?.
  • Kostnad: Automatisk inläsning använder interna moln-API:er för att hämta listor över filer som finns i lagringen. Dessutom kan autoinläsarens läge för filavisering bidra till att minska molnkostnaderna ytterligare genom att undvika kataloglistor helt och hållet. Automatisk inläsning kan automatiskt konfigurera filaviseringstjänster på lagring för att göra filidentifiering mycket billigare.