Dela via


Vad är Delta Lake?

Delta Lake är det optimerade lagringslagret som utgör grunden för tables i ett sjöhus på Databricks. Delta Lake är öppen källkod programvara som utökar Parquet-datafiler med en filbaserad transaktionslogg för ACID-transaktioner och skalbar metadatahantering. Delta Lake är helt kompatibelt med Apache Spark-API:er och har utvecklats för nära integrering med Structured Streaming, så att du enkelt kan använda en enda kopia av data för både batch- och strömningsåtgärder och tillhandahålla inkrementell bearbetning i stor skala.

Delta Lake är standardformatet för alla åtgärder i Azure Databricks. Om inget annat anges, så är alla tables på Azure Databricks Delta tables. Databricks utvecklade ursprungligen Delta Lake-protokollet och fortsätter att aktivt bidra till öppen källkod projektet. Många av optimeringarna och produkterna i Databricks-plattformen bygger på garantierna från Apache Spark och Delta Lake. Information om optimeringar på Azure Databricks finns i Optimeringsrekommendationer för Azure Databricks.

Referensinformation om Delta Lake SQL-kommandon finns i Delta Lake-instruktioner.

Delta Lake-transaktionsloggen har ett väldefinierat öppet protokoll som kan användas av alla system för att läsa loggen. Se Delta Transaction Log Protocol.

Komma igång med Delta Lake

Alla tables i Azure Databricks är Delta tables som standard. Oavsett om du använder Apache Spark DataFrames eller SQL get du alla fördelar med Delta Lake bara genom att spara dina data i lakehouse med standardinställningar.

Exempel på grundläggande Delta Lake-åtgärder som att skapa tables, läsa, skriva och uppdatera data finns i Självstudie: Delta Lake.

Databricks har många rekommendationer för bästa praxis för Delta Lake.

Konvertera och mata in data till Delta Lake

Azure Databricks tillhandahåller ett antal produkter för att påskynda och förenkla inläsningen av data till ditt lakehouse.

En fullständig list med inmatningsalternativ finns i Mata in data i en Databricks lakehouse-.

Uppdatera och ändra Delta Lake tables

Atomiska transaktioner med Delta Lake innehåller många alternativ för att uppdatera data och metadata. Databricks rekommenderar att du undviker att interagera direkt med data- och transaktionsloggfiler i Delta Lake-filkataloger för att undvika att skada tables.

Inkrementella och strömmande arbetsbelastningar på Delta Lake

Delta Lake är optimerat för strukturerad direktuppspelning i Azure Databricks. Delta Live Tables utökar inbyggda funktioner med förenklad infrastrukturdistribution, förbättrad skalning och hanterade databeroenden.

Ställa frågor till tidigare versioner av table

Varje skrivning till en Delta table skapar en ny table-version. Du kan använda transaktionsloggen för att granska ändringar i dina table och söka efter tidigare versioner av table. Se Arbeta med Delta Lake table historik.

Förbättringar av Delta Lake schema

Delta Lake validerar schema vid skrivning och ser till att alla data som skrivs till en table matchar de krav som du har set.

Hantera filer och indexera data med Delta Lake

Azure Databricks anger många standard parameters för Delta Lake som påverkar storleken på datafiler och antalet table versioner som behålls i historiken. Delta Lake använder en kombination av metadataparsing och fysisk datalayout för att minska antalet filer som genomsöks för att uppfylla alla frågor.

Konfigurera och granska Delta Lake-inställningar

Azure Databricks lagrar alla data och metadata för Delta Lake tables i molnobjektlagring. Många konfigurationer kan vara set antingen på table-nivå eller inom en Spark-session. Du kan granska informationen i Delta-table för att ta reda på vilka alternativ som har konfigurerats.

datapipelines med Delta Lake och Delta Live Tables

Azure Databricks uppmuntrar användare att använda en medaljongarkitektur för att bearbeta data via en serie tables när data rensas och berikas. Delta Live Tables förenklar ETL-arbetsbelastningar genom optimerad körning och automatiserad distribution och skalning av infrastruktur.

Delta Lake-funktionskompatibilitet

Alla Delta Lake-funktioner finns inte i alla versioner av Databricks Runtime. Information om Delta Lake-versionshantering finns i How does Azure Databricks manage Delta Lake feature compatibility?.

Dokumentation om Delta Lake API

För de flesta läs- och skrivåtgärder i Delta tableskan du använda api:erna Spark SQL eller Apache Spark DataFrame.

Delta Lake-specifika SQL-instruktioner finns i Delta Lake-instruktioner.

Azure Databricks säkerställer binär kompatibilitet med Delta Lake-API:er i Databricks Runtime. Information om hur du visar Delta Lake API-versionen som paketeras i varje Databricks Runtime-version finns i avsnittet Systemmiljö i relevant artikel i viktig information om Databricks Runtime. Dokumentation om Delta Lake-API:er för Python, Scala och Java finns i OSS Delta Lake-dokumentationen.