Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Fabric Runtime is een Azure-geïntegreerd platform gebaseerd op Apache Spark dat de uitvoering en het beheer van data engineering- en data science-ervaringen mogelijk maakt. Het combineert belangrijke onderdelen van zowel interne als opensource-bronnen en biedt klanten een uitgebreide oplossing. Voor de eenvoud kun je Fabric Runtime aangedreven door Apache Spark raadplegen als Fabric Runtime.
Belangrijke onderdelen van Fabric Runtime:
Apache Spark : een krachtige opensource gedistribueerde computingbibliotheek waarmee grootschalige gegevensverwerkings- en analysetaken mogelijk zijn. Apache Spark biedt een veelzijdig en krachtige platform voor data engineering- en data science-ervaringen.
Delta Lake : een opensource-opslaglaag die ACID-transacties en andere functies voor gegevensbetrouwbaarheid naar Apache Spark brengt. Delta Lake is geïntegreerd in Fabric Runtime en verbetert de mogelijkheden voor gegevensverwerking en zorgt voor gegevensconsistentie voor meerdere gelijktijdige bewerkingen.
De Native Execution Engine - een transformerende verbetering voor Apache Spark-workloads, die aanzienlijke prestatieverbeteringen biedt door Spark-queries direct uit te voeren op lakehouse-infrastructuur. Naadloos geïntegreerd, vereist het geen codewijzigingen en voorkomt leverancierslock-in. Het ondersteunt zowel Parquet- als Delta-indelingen binnen Apache Spark-API’s in Runtime 1.3 (Spark 3.5) en Runtime 2.0 (Spark 4.1).
Ondersteunde operators worden offgeladen van JVM-gebaseerde Spark naar een gevectoriseerd C++-uitvoeringspad via Apache Gluten en Velox, waardoor kolomvormige, SIMD-versnelde verwerking wordt geboden met native ondersteuning voor Parquet- en Delta-formaten. Wanneer een operator niet wordt ondersteund, valt de uitvoering automatisch terug op Spark op basis van JVM. In representatieve benchmarks (TPC-DS op schaalfactor 1000 met behulp van Delta), bereikte de engine tot zes keer snellere prestaties in vergelijking met opensource Spark, wat vertaalt naar ongeveer 83% rekenkostenbesparing op een fabric-cluster met een vaste grootte.
Het systeemeigen pad behoudt optimalisaties voor Fabric Spark-query's, waaronder adaptieve queryuitvoering, herschrijfbewerkingen op basis van kosten, kolomsnoeien en pushdown van predicaat. Je kunt de native uitvoering per applicatie aanzetten door de
spark.native.enabledconfiguratie te gebruiken. Tijdens het uitvoeren van notebookcellen worden in Fabric Spark Advisor realtime waarschuwingen weergegeven wanneer de uitvoering terugvalt op Spark op basis van JVM, zodat u kunt vaststellen wanneer systeemeigen offload niet wordt toegepast.Pakketten op standaardniveau voor Java/Scala, Python en R - pakketten die verschillende programmeertalen en omgevingen ondersteunen. Deze pakketten worden automatisch geïnstalleerd en geconfigureerd, zodat ontwikkelaars hun favoriete programmeertalen voor gegevensverwerkingstaken kunnen toepassen.
De Fabric Runtime is gebouwd op een robuust open-source besturingssysteem, dat compatibiliteit met verschillende hardwareconfiguraties en systeemvereisten waarborgt.
In de volgende tabel vindt u een uitgebreide vergelijking van belangrijke componenten, waaronder Apache Spark-versies, ondersteunde besturingssystemen, Java, Scala, Python, Delta Lake en R, voor Apache Spark-gebaseerde runtimes binnen het Fabric-platform.
Aanbeveling
Gebruik altijd de meest recente, algemeen beschikbare runtimeversie voor uw productieworkload. Dit is momenteel Runtime 1.3.
| Onderdeel | Speeltijd 1.3 | Runtime 2.0 |
|---|---|---|
| Releasefase | Algemene Vergadering | Public Preview |
| Apache Spark-versie | 3.5.5 | 4.1 |
| Besturingssysteem | Mariner 2.0 | Mariner 3.0 |
| Java-versie | 11 | 21 |
| Scala-versie | 2.12.17 | 2.13.16 |
| Python-versie | 3.11 | 3.13 |
| Delta Lake-versie | 3.2 | 4.2 |
Ga naar Runtime 1.3 of Runtime 2.0 om details, nieuwe functies, verbeteringen en migratiescenario's voor de specifieke runtimeversie te verkennen.
Optimalisaties van de netwerkstructuur
In Fabric bevatten zowel de Spark-engine als de Delta Lake-implementaties platformspecifieke optimalisaties en functies. Deze functies maken gebruik van native integraties binnen het platform. Je kunt al deze functies uitschakelen om standaard functionaliteit van Spark en Delta Lake te bereiken. De Fabric Runtimes voor Apache Spark omvatten:
- De volledige opensource-versie van Apache Spark.
- Een verzameling van bijna 100 ingebouwde, unieke verbeteringen in queryprestaties. Deze verbeteringen omvatten functies zoals partition caching (waardoor de bestandssysteempartitiecache wordt ingeschakeld om metastore-aanroepen te verminderen) en Cross Join to Projection of Scalar Subquery.
- Ingebouwde intelligente cache.
Binnen de Fabric Runtime voor Apache Spark en Delta Lake dienen native writer-mogelijkheden twee belangrijke doelen:
- Ze bieden gedifferentieerde prestaties voor het schrijven van workloads, waardoor het schrijfproces wordt geoptimaliseerd.
- Ze schakelen standaard over op V-order optimalisatie van Delta Parquet-bestanden. De optimalisatie van de Delta Lake V-order is cruciaal voor het leveren van superieure leesprestaties over alle Fabric-motoren. Voor een dieper begrip van hoe het werkt en hoe het te beheren, zie Delta Lake tabeloptimalisatie en V-order.
Ondersteuning voor meerdere runtimes
Fabric ondersteunt meerdere runtimes, dus je kunt ertussen wisselen en het risico op compatibiliteitsproblemen of verstoringen verminderen.
Note
Een Spark-runtime bevat een specifieke Python-versie als onderdeel van zijn componentenset. Runtime 1.3 bevat bijvoorbeeld Python 3.11. Deze Python-versie staat los van de Python-notebookkernel die je selecteert voor pure Python-notebooks. Voor de Python-notebook kernel levenscyclus, zie Python notebook runtime en kernel lifecycle in Fabric.
Standaard gebruiken alle nieuwe werkruimten de nieuwste GA Runtime-versie, die momenteel Runtime 1.3 is.
Als u de runtimeversie op werkruimteniveau wilt wijzigen, gaat u naar Werkruimte-instellingen>Data Engineering/Science>Spark-instellingen. Selecteer op het tabblad Environment de gewenste runtimeversie uit de beschikbare opties. Selecteer opslaan om uw selectie te bevestigen.
Nadat je deze wijziging hebt doorgevoerd, gebruiken alle door het systeem gemaakte items binnen de werkruimte, waaronder lakehouses, Spark-functiebeschrijvingen en notebooks, de nieuw geselecteerde runtime-versie op werkruimteniveau vanaf de volgende Spark-sessie. Als je momenteel een notebook met een bestaande sessie gebruikt voor een taak of een andere lakehousegerelateerde activiteit, blijft die Spark-sessie gewoon doorlopen. Echter, vanaf de volgende sessie of taak geldt de geselecteerde runtime-versie.
Om de runtime op itemniveau Environment te wijzigen, maak je een nieuw Environment-item aan of open je een bestaand. Selecteer onder het Runtime-dropdown je gewenste runtime-versie uit de beschikbare opties, selecteer Save, en vervolgens Publish je wijzigingen. Vervolgens kunt u dit Environment item gebruiken met uw Notebook of Spark Job Definition.
Gevolgen van runtimewijzigingen in Spark-instellingen
Het systeem migreert alle Spark-instellingen. Als het systeem echter ontdekt dat een Spark-instelling niet compatibel is met Runtime B, verschijnt er een waarschuwingsmelding en wordt de instelling niet geïmplementeerd.
Gevolgen van runtimewijzigingen in bibliotheekbeheer
Het bibliotheekbeheersysteem migreert alle bibliotheken van Runtime A naar Runtime B, inclusief zowel publieke als aangepaste runtimes. Als de Python- en R-versies hetzelfde blijven, werken de bibliotheken goed. Voor JARs is er echter een aanzienlijke kans dat ze niet werken door veranderingen in afhankelijkheden en andere factoren zoals veranderingen in Scala, Java, Spark en het besturingssysteem.
Jij bent verantwoordelijk voor het updaten of vervangen van bibliotheken die niet werken met Runtime B. Als er een conflict is, wat betekent dat Runtime B een bibliotheek bevat die oorspronkelijk in Runtime A is gedefinieerd, probeert het bibliotheekbeheersysteem de noodzakelijke afhankelijkheid voor Runtime B te creëren op basis van je instellingen. Het bouwproces mislukt echter als er een conflict optreedt. In het foutlogboek kun je zien welke bibliotheken conflicten veroorzaken en aanpassingen maken aan hun versies of specificaties.
Delta Lake-protocol upgraden
Delta Lake-functies zijn altijd achterwaarts compatibel, waardoor tabellen die in een lagere Delta Lake-versie zijn gemaakt naadloos kunnen communiceren met hogere versies. Wanneer je echter bepaalde functies inschakelt (bijvoorbeeld door deze delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) methode te gebruiken), kun je de forwardcompatibiliteit met lagere Delta Lake-versies in gevaar brengen. In zulke gevallen moet je workloads aanpassen die naar de geüpgradede tabellen verwijzen om ze te laten aansluiten bij een Delta Lake-versie die compatibiliteit behoudt.
Elke Delta-tabel is gekoppeld aan een protocolspecificatie, die de functies definieert die het ondersteunt. Toepassingen die communiceren met de tabel, voor lezen of schrijven, zijn afhankelijk van deze protocolspecificatie om te bepalen of ze compatibel zijn met de functieset van de tabel. Als een applicatie niet in staat is om een functie die als ondersteund in het tabelprotocol wordt vermeld, te verwerken, kan hij niet van die tabel lezen of schrijven.
De protocolspecificatie is onderverdeeld in twee afzonderlijke onderdelen: het 'read'-protocol en het 'write'-protocol. Voor meer informatie, zie Hoe beheert Delta Lake de feature-compatibiliteit?
Je kunt het commando delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) uitvoeren in de PySpark-omgeving, en in Spark SQL en Scala. Dit commando start een update in de Delta-tabel.
Wanneer je deze upgrade uitvoert, krijg je een waarschuwing dat het upgraden van de Delta-protocolversie een niet-omkeerbaar proces is. Dit proces betekent dat zodra je de update uitvoert, je het niet meer ongedaan kunt maken.
Upgrades van protocolversies kunnen mogelijk van invloed zijn op de compatibiliteit van bestaande Delta Lake-tabellezers, schrijvers of beide. Wees daarom voorzichtig en upgrade de protocolversie alleen wanneer nodig, bijvoorbeeld bij het adopteren van nieuwe functies in Delta Lake.
Belangrijk
Voor meer informatie over welke protocolversies en functies compatibel zijn tussen alle Fabric-ervaringen, zie Delta Lake table format interoperability.
Controleer daarnaast dat alle huidige en toekomstige productieworkloads en -processen compatibel zijn met Delta Lake-tabellen met behulp van de nieuwe protocolversie om een soepele overgang te garanderen en mogelijke verstoringen te voorkomen.