Wat is Apache Spark Compute in Microsoft Fabric?
Van toepassing op:✅ Data-engineer ing en Datawetenschap in Microsoft Fabric
Microsoft Fabric Data-engineer en Datawetenschap ervaringen 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.
Starterspools
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.
Starter-pools hebben ook standaardinstellingen waarmee u bibliotheken snel kunt installeren zonder de starttijd van de sessie te vertragen. Als u echter extra aangepaste Apache Spark-eigenschappen of -bibliotheken wilt gebruiken vanuit uw werkruimte- of capaciteitsinstellingen, duurt het langer om de knooppunten voor u op te halen. 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 niet gedurende 2 minuten gebruikt nadat uw sessie is verlopen, wordt de toewijzing van uw Spark-pool ongedaan gemaakt. 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 knooppunt, zodat het stuurprogramma en de uitvoerprogramma worden uitgevoerd in één knooppunt dat wordt geleverd met herstelbare hoge beschikbaarheid 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 infrastructuurcapaciteitSKU 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 fasen zoals het maken van het cluster en de toewijzing van de deal 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 Instantie van een Apache Spark-pool bestaat uit één hoofdknooppunt en werkknooppunten, kan minimaal één knooppunt in een Spark-exemplaar starten. 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.
Tekengrootte | vCore | Geheugen |
---|---|---|
Klein | 4 | 32 GB |
Gemiddeld | 8 | 64 GB |
Groot | 16 | 128 GB |
X-groot | 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 functie voor automatische schaalaanpassing inschakelt, stelt u het minimum- en maximum aantal knooppunten in op schaal. 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-toepassing, behoudt het systeem uitvoerders tijdens de stap voor het indienen van taken op basis van de minimale knooppunten. U geeft maximale knooppunten op ter ondersteuning van geslaagde scenario's voor automatische schaalaanpassing.