Wat is Apache Spark-berekeningskracht in Microsoft Fabric?
Van toepassing op:✅ Data-engineer ing en Datawetenschap in Microsoft Fabric
Microsoft Fabric Data-engineering en Datawetenschaps-onderdelen werken op een volledig beheerd Apache Spark-rekenplatform. Dit platform is ontworpen om ongeëvenaarde snelheid en efficiëntie te leveren. Met starterspools kunt u snelle initialisatie van Apache Spark-sessies verwachten, meestal binnen 5 tot 10 seconden, zonder dat u handmatig hoeft in te stellen. U krijgt ook de flexibiliteit om Apache Spark-pools aan te passen op basis van uw specifieke vereisten voor data engineering en data science. Het platform maakt een geoptimaliseerde en op maat gemaakte analyse-ervaring mogelijk. Kortom, een starterspool is een snelle manier om vooraf geconfigureerde Spark te gebruiken, terwijl een Spark-pool aanpassing en flexibiliteit biedt.
Starter Pools
Starter-pools zijn binnen enkele seconden een snelle en eenvoudige manier om Spark te gebruiken op het Microsoft Fabric-platform. U kunt Spark-sessies meteen gebruiken, in plaats van te wachten tot Spark de knooppunten voor u instelt, zodat u meer kunt doen met gegevens en sneller inzichten krijgt.
Starter-pools hebben Apache Spark-clusters die altijd zijn ingeschakeld en gereed zijn voor uw aanvragen. Ze gebruiken middelgrote knooppunten die dynamisch omhoog schalen op basis van uw Spark-taakbehoeften.
Wanneer u een Starter-pool gebruikt zonder extra bibliotheekafhankelijkheden of aangepaste Spark-eigenschappen, begint uw sessie doorgaans in 5 tot 10 seconden. Deze snelle opstarttijd is mogelijk omdat het cluster al wordt uitgevoerd en geen inrichtingstijd vereist.
Er zijn echter verschillende scenario's waarin het langer kan duren voordat uw sessie wordt gestart:
U hebt aangepaste bibliotheken of Spark-eigenschappen
Als u bibliotheken of aangepaste instellingen in uw omgeving hebt geconfigureerd, moet Spark de sessie aanpassen nadat deze is gemaakt. Dit proces kan ongeveer 30 seconden tot 5 minuten aan uw opstarttijd toevoegen, afhankelijk van het aantal en de grootte van uw bibliotheekafhankelijkheden.Starter Pools in uw regio zijn volledig in gebruik
In zeldzame gevallen kunnen de starterspools van een regio tijdelijk worden uitgeput vanwege hoog verkeer. Als dat gebeurt, draait Fabric een nieuw cluster om aan uw aanvraag te voldoen. Dit duurt ongeveer 2 tot 5 minuten. Zodra het nieuwe cluster beschikbaar is, wordt de sessie gestart. Als u ook aangepaste bibliotheken wilt installeren, moet u de extra 30 seconden toevoegen aan 5 minuten vereist voor persoonlijke instellingen.geavanceerde netwerk- of beveiligingsfuncties (privékoppelingen of beheerde VNets)
Wanneer uw werkruimte netwerkfuncties heeft, zoals Tenant Private Links of beheerde VNets, worden Starter-pools niet ondersteund. In dit geval moet Fabric een cluster op aanvraag maken, waardoor 2 tot 5 minuten wordt toegevoegd aan de begintijd van uw sessie. Als u ook bibliotheekafhankelijkheden hebt, kan die persoonlijke instellingenstap opnieuw een 30 seconden toevoegen aan 5 minuten.
Hier volgen enkele voorbeeldscenario's om mogelijke begintijden te illustreren:
Scenariobeschrijving | Typische opstarttijd |
---|---|
standaardinstellingen, geen bibliotheken | 5 – 10 seconden |
Standaardinstellingen en bibliotheekafhankelijkheden | 5 – 10 seconden + 30 seconden – 5 min (voor het instellen van de bibliotheek) |
Veel verkeer in regio's, geen bibliotheken | 2 – 5 minuten |
Veel verkeer en bibliotheekafhankelijkheden | 2 – 5 minuten + 30 seconden – 5 min (voor bibliotheken) |
Netwerkbeveiliging (Privékoppelingen/VNet), geen bibliotheken | 2 – 5 minuten |
Netwerkbeveiliging en bibliotheekafhankelijkheden | 2 – 5 minuten + 30 seconden – 5 min (voor bibliotheken) |
Als het gaat om facturering en capaciteitsverbruik, worden er kosten in rekening gebracht voor het capaciteitsverbruik wanneer u begint met het uitvoeren van uw notebook of Apache Spark-taakdefinitie. Er worden geen kosten in rekening gebracht voor het moment dat de clusters inactief zijn in de pool.
Als u bijvoorbeeld een notebooktaak naar een starterspool verzendt, wordt u alleen gefactureerd voor de periode waarin de notebooksessie actief is. De gefactureerde tijd bevat niet de niet-actieve tijd of de tijd die nodig is om de sessie aan te passen met de Spark-context.
Spark pools
Een Spark-pool is een manier om Spark te vertellen wat voor soort resources u nodig hebt voor uw gegevensanalysetaken. U kunt uw Spark-pool een naam geven en kiezen hoeveel en hoe groot de knooppunten (de computers die het werk uitvoeren) zijn. U kunt spark ook laten weten hoe u het aantal knooppunten kunt aanpassen, afhankelijk van hoeveel werk u hebt. Het maken van een Spark-pool is gratis; u betaalt alleen wanneer u een Spark-taak uitvoert in de pool en vervolgens worden de knooppunten voor u ingesteld.
Als u uw Spark-pool 2 minuten lang niet gebruikt na het verstrijken van uw sessie, wordt uw Spark-pool vrijgegeven. Deze standaardperiode voor het verlopen van de sessie is ingesteld op 20 minuten en u kunt deze desgewenst wijzigen. Als u een werkruimtebeheerder bent, kunt u ook aangepaste Spark-pools voor uw werkruimte maken en deze de standaardoptie voor andere gebruikers maken. Op deze manier kunt u tijd besparen en voorkomen dat u telkens wanneer u een notebook of een Spark-taak uitvoert een nieuwe Spark-pool instelt. Het starten van aangepaste Spark-pools duurt ongeveer drie minuten, omdat Spark de knooppunten uit Azure moet ophalen.
U kunt zelfs Spark-pools met één knooppunt maken door het minimale aantal knooppunten in te stellen op één, zodat de bestuurder en de uitvoerder worden uitgevoerd in één knooppunt dat wordt geleverd met herstelbare HA en geschikt is voor kleine werkbelastingen.
De grootte en het aantal knooppunten dat u in uw aangepaste Spark-pool kunt hebben, is afhankelijk van uw Microsoft Fabric-capaciteit. Capaciteit is een meting van hoeveel rekenkracht u in Azure kunt gebruiken. Een manier om te bedenken is dat twee Apache Spark VCores (een rekenkracht voor Spark) gelijk zijn aan één capaciteitseenheid.
Notitie
In Apache Spark krijgen gebruikers twee Apache Spark VCores voor elke capaciteitseenheid die ze reserveren als onderdeel van hun SKU. Eén capaciteitsunit = Twee Spark VCores Dus F64 => 128 Spark Vcores en waarop een 3x Burst Multiplier wordt toegepast, wat in totaal 384 Spark VCores oplevert.
Een Fabric-capaciteit-SKU F64 heeft bijvoorbeeld 64 capaciteitseenheden, wat gelijk is aan 384 Spark VCores (64 * 2 * 3X Burst Multiplier). U kunt deze Spark VCores gebruiken om knooppunten van verschillende grootten te maken voor uw aangepaste Spark-pool, zolang het totale aantal Spark VCores niet groter is dan 384.
Spark-pools worden gefactureerd als starterspools; u betaalt niet voor de aangepaste Spark-pools die u hebt gemaakt, tenzij u een actieve Spark-sessie hebt gemaakt voor het uitvoeren van een notebook of Spark-taakdefinitie. U wordt alleen gefactureerd voor de duur van de uitvoering van uw taak. U wordt niet gefactureerd voor stappen zoals het maken en dealloceren van het cluster nadat de taak is voltooid.
Als u bijvoorbeeld een notebooktaak verzendt naar een aangepaste Spark-pool, worden er alleen kosten in rekening gebracht voor de periode waarin de sessie actief is. De facturering voor die notebooksessie stopt zodra de Spark-sessie is gestopt of verlopen. Er worden geen kosten in rekening gebracht voor de tijd die nodig is om clusterexemplaren te verkrijgen uit de cloud of voor de tijd die nodig is voor het initialiseren van de Spark-context.
Mogelijke aangepaste poolconfiguraties voor F64 op basis van het vorige voorbeeld:
Infrastructuurcapaciteits-SKU | Capaciteitseenheden | Maximum aantal Spark-VCores met Burst Factor | Knooppuntgrootte | Maximum aantal knooppunten |
---|---|---|---|---|
F64 | 64 | 384 | Klein | 96 |
F64 | 64 | 384 | Gemiddeld | 48 |
F64 | 64 | 384 | Groot | 24 |
F64 | 64 | 384 | X-groot | 12 |
F64 | 64 | 384 | XX-Groot | 6 |
Notitie
Als u aangepaste pools wilt maken, hebt u beheerdersmachtigingen nodig voor de werkruimte. En de Microsoft Fabric-capaciteitsbeheerder moet machtigingen verlenen om werkruimtebeheerders de grootte van hun aangepaste Spark-pools te laten aanpassen. Zie Aan de slag met aangepaste Spark-pools in Fabric voor meer informatie
Knooppunten
Een Apache Spark-poolinstantie bestaat uit één hoofdknooppunt en werkknooppunten, waarbij ten minste één knooppunt in een Spark-exemplaar kan worden gestart. Het hoofdknooppunt voert extra beheerservices uit, zoals Livy, Yarn Resource Manager, Zookeeper en het Apache Spark-stuurprogramma. Alle knooppunten voeren services uit, zoals Node Agent en Yarn Node Manager. Alle werkknooppunten voeren de Apache Spark Executor-service uit.
Knooppuntgrootten
Een Spark-pool kan worden gedefinieerd met knooppuntgrootten die variëren van een klein rekenknooppunt (met 4 vCore en 32 GB geheugen) tot een dubbel groot rekenknooppunt (met 64 vCore en 512 GB geheugen per knooppunt). Knooppuntgrootten kunnen worden gewijzigd nadat de pool is gemaakt, hoewel de actieve sessie opnieuw moet worden gestart.
Grootte | vCore | Geheugen |
---|---|---|
Klein | 4 | 32 GB |
Gemiddeld | 8 | 64 GB |
Groot | 16 | 128 GB |
Extra Large | 32 | 256 GB |
XX-Groot | 64 | 512 GB |
Notitie
Knooppuntgrootten X-Large en XX-Large zijn alleen toegestaan voor fabric-SKU's die geen proefversie zijn.
Automatisch schalen
Automatische schaalaanpassing voor Apache Spark-pools maakt het mogelijk om rekenresources automatisch omhoog en omlaag te schalen op basis van de hoeveelheid activiteit. Wanneer u de autoscale functie inschakelt, stelt u het minimum- en maximum aantal knooppunten voor schaalvergroting in. Wanneer u de functie voor automatisch schalen uitschakelt, blijft het aantal knooppunten dat is ingesteld, vast. U kunt deze instelling wijzigen nadat de pool is gemaakt, hoewel u het exemplaar mogelijk opnieuw moet starten.
Notitie
Spark.yarn.executor.decommission.enabled is standaard ingesteld op true, waardoor het automatisch afsluiten van onderbenutte knooppunten wordt ingeschakeld om de rekenefficiëntie te optimaliseren. Als minder agressief omlaag schalen de voorkeur heeft, kan deze configuratie worden ingesteld op onwaar
Dynamische toewijzing
Met dynamische toewijzing kan de Apache Spark-toepassing meer uitvoerders aanvragen als de taken de belasting overschrijden die huidige uitvoerders kunnen dragen. Ook worden de uitvoerders vrijgegeven wanneer de taken zijn voltooid en als de Spark-toepassing wordt verplaatst naar de niet-actieve status. Zakelijke gebruikers vinden het vaak moeilijk om de uitvoerdersconfiguraties af te stemmen, omdat ze sterk verschillen in verschillende fasen van een Spark-taakuitvoeringsproces. Deze configuraties zijn ook afhankelijk van het volume aan verwerkte gegevens, dat van tijd tot tijd verandert. U kunt dynamische toewijzing van uitvoerdersoptie inschakelen als onderdeel van de poolconfiguratie, waardoor automatische toewijzing van uitvoerders aan de Spark-toepassing mogelijk is op basis van de knooppunten die beschikbaar zijn in de Spark-pool.
Wanneer u de optie voor dynamische toewijzing inschakelt voor elke ingediende Spark-applicatie, reserveert het systeem executors tijdens de indiendingsstap van de taak, gebaseerd op het minimum aantal knooppunten. U geeft maximale knooppunten op ter ondersteuning van geslaagde scenario's voor automatische schaalaanpassing.