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ødning af data i Fabric, gemmer Fabric dem som standard som Delta-tabeller. 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 vigtige Delta Lake-funktioner og dens 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 (Forhåndsvisning) 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 Nr. 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 (Forhåndsvisning) 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
Nej
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, der er 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). Hvis du vil holde Delta Lake-tabeller optimale til analyse, skal du følge teknikkerne i Funktionen Brug tabelvedligeholdelse til at administrere deltatabeller i Fabric for tabeller, der indtages ved hjælp af disse oplevelser.
  • For omfattende tværarbejdsbelastningsvejledning om tabelvedligeholdelsesstrategier for forskellige forbrugsscenarier, se Cross-workload table maintenance and optimization.

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-funktion)
  • Lakeflow Spark Deklarative Pipelines (Azure Databricks feature)
  • Delta Lake 4.x funktioner uden for Lakehouse og Spark Notebooks og Jobs: kollations, varianttype, koordinerede commits osv. Typeudvidelse understøttes, hvor det er nævnt i tidligere features-matrix 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/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 vejledningen til valg af notesbøger Fabric notesbog.

Specialtegn i tabelnavne

Microsoft Fabric understøtter specialtegn 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).