Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Fabric Runtime er en Azure-integreret platform baseret på Apache Spark, som muliggør udførelse og styring af data engineering- og data science-oplevelser. Den kombinerer vigtige komponenter fra både interne kilder og kilder med åben kildekode, hvilket giver kunderne en omfattende løsning. For enkelhedens skyld, se Fabric Runtime drevet af Apache Spark som Fabric Runtime.
Overordnede komponenter i Fabric Runtime:
Apache Spark – et effektivt distribueret databehandlingsbibliotek med åben kildekode, der muliggør databehandling og analyseopgaver i stor skala. Apache Spark leverer en alsidig platform med høj ydeevne til datakonstruktion og datavidenskabsoplevelser.
Delta Lake – et lagerlag med åben kildekode, der leverer ACID-transaktioner og andre funktioner til datapålidelighed til Apache Spark. Delta Lake er integreret i Fabric Runtime og forbedrer databehandlingsfunktionerne og sikrer ensartet data på tværs af flere samtidige handlinger.
Native Execution Engine - en transformerende forbedring af Apache Spark-arbejdsbelastninger, der giver betydelige ydelsesforbedringer ved direkte at udføre Spark-forespørgsler på lakehouse-infrastruktur. Integreret sømløst kræver det ingen kodeændringer og undgår leverandørlåsning. Den understøtter både Parquet- og Delta-formater på tværs af Apache Spark API'er i Runtime 1.3 (Spark 3.5) og Runtime 2.0 (Spark 4.1).
Understøttede operatører aflæses fra JVM-baserede Spark til en vektoriseret C++-eksekveringssti via Apache Gluten og Velox, hvilket leverer kolonneformet, SIMD-accelereret behandling med native understøttelse af Parquet- og Delta-formater. Når en operatør ikke understøttes, falder udførelsen automatisk tilbage til JVM-baserede Spark. I repræsentative benchmarks (TPC-DS med skalafaktor 1000 ved brug af Delta) opnåede motoren op til seks gange hurtigere ydeevne sammenlignet med open source Spark, hvilket svarer til cirka 83% besparelser på beregningsomkostninger på en fast størrelse Fabric-klynge.
Den native sti bevarer Fabric Spark-forespørgselsoptimeringer, herunder adaptiv forespørgselsudførelse, omkostningsbaserede omskrivninger, kolonnebeskæring og prædikat-pushdown. Du kan slå native udførelse pr. applikation til og fra ved at bruge konfigurationen
spark.native.enabled. Under notebook-celleeksekvering viser Fabric Spark Advisor realtidsalarmer, når udførelsen falder tilbage til JVM-baserede Spark, hvilket hjælper dig med at diagnosticere, når native offload ikke aktiveres.Pakker på standardniveau til Java/Scala, Python og R – pakker, der understøtter forskellige programmeringssprog og -miljøer. Disse pakker installeres og konfigureres automatisk, så udviklere kan anvende deres foretrukne programmeringssprog til databehandlingsopgaver.
Fabric Runtime er bygget på et robust open source-operativsystem, der sikrer kompatibilitet med forskellige hardwarekonfigurationer og systemkrav.
I den følgende tabel finder du en omfattende sammenligning af nøglekomponenter, herunder Apache Spark-versioner, understøttede operativsystemer, Java, Scala, Python, Delta Lake og R, for Apache Spark-baserede runtimes inden for Fabric-platformen.
Tips
Brug altid den seneste, generelt tilgængelige (GA) runtime-version til din produktionsarbejdsbyrde, som i øjeblikket er Runtime 1.3.
| Komponent | Spilletid 1.3 | Spilletid 2.0 |
|---|---|---|
| udgivelsesfase | generel tilgængelighed | Offentlig prøveversion |
| Apache Spark-versionen | 3.5.5 | 4.1 |
| Operativsystem | Mariner 2.0 | Mariner 3.0 |
| Java-version | 11 | 21 |
| Scala-versionen | 2.12.17 | 2.13.16 |
| Python-version | 3.11 | 3.13 |
| Delta Lake-versionen | 3,2 | 4.2 |
Besøg Runtime 1.3 eller Runtime 2.0 for at udforske detaljer, nye funktioner, forbedringer og migrationsscenarier for den specifikke runtime-version.
Fabric-optimeringer
I Fabric indeholder både Spark-motoren og Delta Lake-implementeringerne platformspecifikke optimeringer og funktioner. Disse funktioner bruger native integrationer inden for platformen. Du kan deaktivere alle disse funktioner for at opnå standard funktionalitet i Spark og Delta Lake. Fabric Runtimes til Apache Spark omfatter:
- Den komplette version af Apache Spark med åben kildekode.
- En samling af næsten 100 indbyggede forbedringer af forespørgselsydeevnen. Disse forbedringer omfatter funktioner som cachelagring af partitioner (aktivering af FilSystem-partitionscachen for at reducere metastore-kald) og Cross Join to Projection of Scalar Subquery.
- Indbygget intelligent cache.
Inden for Fabric Runtime for Apache Spark og Delta Lake tjener native writer-funktioner to nøgleformål:
- De giver en differentieret ydeevne i forbindelse med skrivning af arbejdsbelastninger og optimerer skriveprocessen.
- De bruger som standard V-ordensoptimering af Delta Parquet-filer. Delta Lake V-order-optimeringen er afgørende for at levere overlegen læseydelse på tværs af alle Fabric-motorer. For at få en dybere forståelse af, hvordan det fungerer, og hvordan man håndterer det, se Delta Lake tabeloptimering og V-orden.
Understøttelse af flere kørselstidspunkter
Fabric understøtter flere runtimes, så du kan skifte mellem dem og reducere risikoen for kompatibilitetsproblemer eller forstyrrelser.
Bemærk
En Spark-runtime inkluderer en specifik Python-version som en del af sit komponentsæt. For eksempel inkluderer Runtime 1.3 Python 3.11. Denne Python-version er adskilt fra Python-notebookkernen, som du vælger til rene Python-notebooks. For Python-notebookens kernelivscyklus, se Python notebook runtime og kernel lifecycle in Fabric.
Som standard bruger alle nye arbejdsområder den nyeste GA-runtime-version, som i øjeblikket er Runtime 1.3.
Hvis du vil ændre kørselsversionen på arbejdsområdeniveau, skal du gå til Indstillinger for arbejdsområde>Indstillinger for Data engineering/Science>Spark. Vælg den ønskede kørselsversion under fanen Environment under de tilgængelige indstillinger. Vælg Gem for at bekræfte markeringen.
Efter du har foretaget denne ændring, bruger alle systemoprettede elementer i arbejdsområdet, inklusive lakehouses, Spark-jobbeskrivelser og notesbøger, den nyvalgte arbejdsområde-niveau runtime-version fra næste Spark-session. Hvis du i øjeblikket bruger en notesbog med en eksisterende session til et job eller en anden aktivitet relateret til søhuset, fortsætter den Spark-session som den er. Men fra næste session eller job gælder den valgte runtime-version.
For at ændre runtimen på Environment genstandsniveau, skal du oprette et nyt miljøobjekt eller åbne et eksisterende. Under rullemenuen Runtime vælger du din ønskede runtime-version fra de tilgængelige muligheder, vælger Save, og derefter Publish dine ændringer. Dernæst kan du bruge dette Environment element med din Notebook eller Spark Job Definition.
Konsekvenser af ændringer af kørsel på Spark-indstillinger
Systemet migrerer alle Spark-indstillinger. Men hvis systemet opdager, at en Spark-indstilling ikke er kompatibel med Runtime B, vises der en advarselsmeddelelse og implementeres ikke indstillingen.
Konsekvenser af kørselsændringer for biblioteksstyring
Biblioteksadministrationssystemet migrerer alle biblioteker fra Runtime A til Runtime B, inklusive både offentlige og brugerdefinerede runtimes. Hvis Python- og R-versionerne forbliver de samme, fungerer bibliotekerne korrekt. Men for JARs er der en betydelig chance for, at de ikke virker på grund af ændringer i afhængigheder og andre faktorer som ændringer i Scala, Java, Spark og operativsystemet.
Du er ansvarlig for at opdatere eller udskifte biblioteker, der ikke fungerer med Runtime B. Hvis der opstår en konflikt, hvilket betyder, at Runtime B inkluderer et bibliotek, der oprindeligt blev defineret i Runtime A, forsøger biblioteksadministrationssystemet at skabe den nødvendige afhængighed for Runtime B baseret på dine indstillinger. Byggeprocessen fejler dog, hvis der opstår en konflikt. I fejlloggen kan du se, hvilke biblioteker der forårsager konflikter, og foretage justeringer af deres versioner eller specifikationer.
Opgrader Delta Lake-protokol
Delta Lake-funktioner er altid bagudkompatible, hvilket sikrer, at tabeller oprettet i en lavere Delta Lake-version problemfrit kan interagere med højere versioner. Men når du aktiverer visse funktioner (for eksempel ved at bruge metoden delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) ), kan du kompromittere forward-kompatibiliteten med lavere Delta Lake-versioner. I sådanne tilfælde skal du ændre arbejdsbelastninger, der refererer til de opgraderede tabeller, så de stemmer overens med en Delta Lake-version, der opretholder kompatibilitet.
Hver Delta-tabel er tilknyttet en protokolspecifikation, som definerer de funktioner, den understøtter. Applikationer, der interagerer med tabellen, enten til læsning eller skrivning, er afhængige af denne protokolspecifikation for at afgøre, om de er kompatible med tabellens funktionssæt. Hvis en applikation mangler evnen til at håndtere en funktion, der er opført som understøttet i tabellens protokol, kan den ikke læse fra eller skrive til den tabel.
Protokolspecifikationen er opdelt i to forskellige komponenter: "read"-protokollen og "write"-protokollen. For mere information, se Hvordan håndterer Delta Lake funktionskompatibilitet?
Du kan køre kommandoen delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) i PySpark-miljøet samt i Spark SQL og Scala. Denne kommando initierer en opdatering i Delta-tabellen.
Når du udfører denne opgradering, modtager du en advarsel om, at opgraderingen af Delta-protokollens version er en ikke-reversibel proces. Denne proces betyder, at når du har udført opdateringen, kan du ikke fortryde den.
Opgraderinger af protokolversionen kan potentielt påvirke kompatibiliteten af eksisterende Delta Lake-tabellæsere, -skrivere eller begge dele. Derfor skal man være forsigtig og kun opgradere protokolversionen, når det er nødvendigt, for eksempel ved indførelse af nye funktioner i Delta Lake.
Vigtigt
For at lære mere om, hvilke protokolversioner og funktioner der er kompatible på tværs af alle Fabric-oplevelser, se Delta Lake table format interoperability.
Derudover skal du verificere, at alle nuværende og fremtidige produktionsarbejdsbelastninger og processer er kompatible med Delta Lake-tabeller ved hjælp af den nye protokolversion for at sikre en problemfri overgang og forhindre potentielle forstyrrelser.