Interoperabilitet i tabelformatet Delta Lake

I Microsoft Fabric er tabelformatet Delta Lake standard for analyser. Delta Lake er et lagerlag med åben kildekode, der bringer ACID-transaktioner (Atomicity, Consistency, Isolation, Holdbarhed) til big data- og analysearbejdsbelastninger.

Alle Fabric-oplevelser genererer og forbruger oprindeligt Delta Lake-tabeller, hvilket giver en samlet produktoplevelse. Delta Lake-tabeller, der er produceret af ét beregningsprogram, f.eks. Fabric data warehouse eller Synapse Spark, kan forbruges af et hvilket som helst andet program, f.eks. Power BI. Når du indfører data i Fabric, gemmer den dataene som Delta-tabeller som standard. Du kan nemt integrere eksterne data, der indeholder Delta Lake-tabeller, ved hjælp af OneLake-genveje.

Delta Lake-funktioner og Fabric-oplevelser

For at opnå interoperabilitet er alle Fabric-oplevelserne på linje med Delta Lake-funktionerne og Fabric-funktionerne. Nogle oplevelser kan kun skrive til Delta Lake-tabeller, mens andre kan læse fra dem.

  • Forfattere: Data warehouses, eventstreams og eksporterede semantiske Power BI-modeller til OneLake
  • Læsere: Semantiske sql analytics-slutpunkter og semantiske Power BI-direct lake-modeller
  • Forfattere og læsere: Fabric Spark-kørsel, dataflow, pipelines og KQL-databaser (Kusto Query Language)

Følgende matrix viser nøglefunktioner i Delta Lake og deres tilgængelighed på hver Fabric-oplevelse.

Strukturfunktionalitet Kolonnetilknytninger Sletningsvektorer V-ordreskrivning Tabeloptimering og vedligeholdelse Partitioner
Data warehouse Delta Lake-eksport Navn: Ja
Id: Nej
Ja Ja Ja Læs: I/T (ikke relevant)
Skriv: Nej
SQL Analytics-slutpunkt Navn: Ja
Id: Nej
Ja I/T (ikke relevant) I/T (ikke relevant) Læs: Ja
Skriv: I/T (ikke relevant)
Lakehouse Explorer og prøveversion Navn: Ja
Id: Nej
Ja I/T (ikke relevant) Ja Læs: Ja
Skriv: I/T (ikke relevant)
Fabric Spark Runtime 2.0 Navn: Ja
Id: Ja
Ja Ja Ja Læs: Ja
Skriv: Ja
Stof Spark Runtime 1.3 Navn: Ja
Id: Ja
Ja Ja Ja Læs: Ja
Skriv: Ja
Stof Spark Runtime 1.2 Navn: Ja
Id: Ja
Ja Ja Ja Læs: Ja
Skriv: Ja
Stof Spark Runtime 1.1 Navn: Ja
Id: Ja
Nej Ja Ja Læs: Ja
Skriv: Ja
Python-notebooks Navn: Nej
Id: Nej
Nej Nej Ja Læs: Ja
Skriv: Ja
Dataflow Gen2 Navn: Ja
Id: Nej
Ja Ja Nej Læs: Ja
Skriv: Ja
Pipelines Navn: Nej
Id: Nej
Nej Ja Nej Læs: Ja
Skriv: Ja, overskriv kun
Semantiske power BI-modeller til direct lake Navn: Ja
Id: Ja
Ja I/T (ikke relevant) I/T (ikke relevant) Læs: Ja
Skriv: I/T (ikke relevant)
Eksportér semantiske Power BI-modeller til OneLake Navn: Ja
Id: Nej
I/T (ikke relevant) Ja Nej Læs: I/T (ikke relevant)
Skriv: Nej
KQL-databaser Navn: Ja
Id: Nej
Ja Nej Ingen 1 Læs: Ja
Skriv: Ja
Eventstreams Navn: Nej
Id: Nej
Nej Nej Nej Læs: I/T (ikke relevant)
Skriv: Ja

1 KQL-databaser tilbyder visse tabelvedligeholdelsesfunktioner såsom opbevaring. Data fjernes i slutningen af opbevaringsperioden fra OneLake. Du kan få flere oplysninger under Én logisk kopi.

Strukturfunktionalitet Flydende klynger TIMESTAMP_NTZ Delta-læser-/skriveversion og standardtabelfunktioner Typeudvidelse
Data warehouse Delta Lake-eksport Nej Nej Læser: 3
Forfatter: 7
Sletningsvektorer,
Kolonnetilknytninger (navn)
Ja
SQL Analytics-slutpunkt Ja Nej I/T (ikke relevant) Ja
Lakehouse Explorer og prøveversion Ja Ja I/T (ikke relevant) Ja
Fabric Spark Runtime 2.0 Ja Ja Læser: 3
Forfatter: 7
Sletningsvektorer
Ja
Stof Spark Runtime 1.3 Ja Ja Læser: 1
Forfatter: 2
Nej
Stof Spark Runtime 1.2 Ja, skrivebeskyttet Ja Læser: 1
Forfatter: 2
Nej
Stof Spark Runtime 1.1 Ja, skrivebeskyttet Nej Læser: 1
Forfatter: 2
Nej
Python-notebooks Nej Ja Læser: 1
Forfatter: 2
Nej
Dataflow Gen2 Ja, skrivebeskyttet Nej Læser: 1
Forfatter: 2
Ja
Pipelines Ja, skrivebeskyttet Nej Læser: 1
Forfatter: 2
Ja: DI Data Pipelines (Kopier, Opslag-aktivitet)
Nej: DI CopyJob-pipelines
Semantiske power BI-modeller til direct lake Ja Nej I/T (ikke relevant) Ja
Eksportér semantiske Power BI-modeller til OneLake Nej Nej Læser: 2
Forfatter: 5
Kolonnetilknytninger (navn)
Nej
KQL-databaser Nej Nej Læser: 1
Forfatter: 1
Nej
Eventstreams Nej Nej Læser: 1
Forfatter: 2
Nej

Seddel

  • Fabric skriver ikke kolonnetilknytninger som standard, undtagen hvor det er angivet. Standardoplevelsen Fabric genererer tabeller, der er kompatible på tværs af tjenesten. Delta Lake-tabeller produceret af tredjepartstjenester kan have inkompatible tabelfunktioner.
  • Nogle Fabric-oplevelser tilbyder ikke tabeloptimerings- og vedligeholdelsesfunktioner, f.eks. bin-compaction, V-order, sletningsvektorfletning (PURGE) og oprydning af gamle filer, der ikke refereres til (VACUUM). For at holde Delta Lake-tabeller optimale til analyse, følg teknikkerne i Run Delta table maintenance i Lakehouse for tabeller, der indlæses med disse oplevelser.
  • For omfattende tværarbejdsbelastningsvejledning om tabelvedligeholdelsesstrategier for forskellige forbrugsscenarier, se tværarbejdstabelvedligeholdelse og optimering i Microsoft Fabric.

Aktuelle begrænsninger

Fabric understøtter i øjeblikket ikke disse Delta Lake-funktioner:

  • V2 Checkpoints er ikke ensartet tilgængelige i alle oplevelser. Det er kun Spark-notesbøger og Spark-job, der kan læse og skrive til tabeller med V2 Checkpoints. Lakehouse og SQL analytics-endpoints viser ikke korrekt tabeller med V2 Checkpoint-filer i mappen __delta_log .
  • Delta Lake 3.x Uniform. Denne funktion understøttes kun i Spark-compute for Data Engineering (Notesbøger, Spark-job).
  • Identity columns writing (Azure Databricks feature).
  • Lakeflow Spark Deklarative Pipelines (Azure Databricks feature).
  • Delta Lake 4.x fungerer uden for Lakehouse og Spark Notebooks and Jobs: sammenstillinger, varianttype, koordinerede commits og mere. Typeudvidelse understøttes, hvor det er angivet i den tidligere funktionsmatrix i denne artikel.
  • Python notebooks Delta Lake understøtter : Python notebooks bruger delta-rs (deltalake), DuckDB og Polars i stedet for Spark Delta Lake-læseren og -skriveren til at læse og skrive Delta Lake-tabeller. De deltalake-versioner, der i øjeblikket fastgøres af Fabric, understøtter ikke nogle funktioner i Delta Lake-tabellen, herunder sletningsvektorer, kolonnemapping, flydende klyngeskrivning og optimering samt typeudvidelse. Polars read_delta og write_delta brug deltalake som backend, så de deler de samme begrænsninger.
  • Python notebooks Delta Lake workarounds og fallback: DuckDB delta_scan-funktionen kan give en skrivebeskyttet løsning for nogle tabeller, som deltalake ikke kan læse, såsom tabeller med sletningsvektorer. Hvis en Delta Lake-funktion ikke er tilgængelig eller ikke virker i en Python-notesbog, så brug i stedet en PySpark-notesbog. PySpark-notebooks giver den mest komplette Delta Lake-support i Fabric og dækker de Delta Lake-scenarier, der er angivet for Fabric Spark-runtimes i disse tabeller. For mere information, se Datainteraktion i Python notesbøger og Valg mellem Python og PySpark Notebooks i Microsoft Fabric.

Specialtegn i tabelnavne

Fabric understøtter særlige tegn som en del af tabelnavnene. Denne funktion tillader brugen af Unicode-tegn til at sammensætte tabelnavne i Fabric-oplevelser.

Følgende specialtegn er enten reserverede eller ikke kompatible med mindst én af Fabric teknologier og må ikke bruges som en del af et tabelnavn: " (dobbelt citationstegn), ' (enkelt citationstegn), #, %, +, :, ? eller ' (backtick).