Qu’est-ce que le calcul Spark dans Microsoft Fabric ?

S’applique à : Ingénieurs de données et Science des données dans Microsoft Fabric

Microsoft Fabric Ingénieurs de données et les expériences Science des données fonctionnent sur une plateforme de calcul Spark entièrement managée. Cette plateforme est conçue pour offrir une vitesse et une efficacité inégalées. Avec les pools de démarrage, vous pouvez vous attendre à une initialisation rapide de session Spark, généralement dans un délai de 5 à 10 secondes, sans avoir besoin d’une configuration manuelle. En outre, vous bénéficiez également de la flexibilité nécessaire pour personnaliser les pools Spark en fonction des exigences spécifiques en matière d’ingénierie des données et de science des données. La plateforme offre une expérience d’analytique optimisée et personnalisée.

Important

Microsoft Fabric est en préversion.

Pools de démarrage

Les pools de démarrage sont un moyen simple et rapide d’utiliser Spark sur la plateforme Microsoft Fabric en quelques secondes. Vous pouvez utiliser des sessions Spark immédiatement, au lieu d’attendre que Spark configure les nœuds pour vous, ce qui vous permet d’en faire plus avec les données et d’obtenir des insights plus rapidement.

Image d’une table montrant la configuration du pool de démarrage.

Les pools de démarrage ont des clusters Spark qui sont toujours activés et prêts pour vos demandes. Ils utilisent des nœuds moyens qui effectuent un scale-up dynamique en fonction de vos besoins de travail Spark.

Diagramme montrant la conception générale des pools de démarrage.

Les pools de démarrage ont également des paramètres par défaut qui vous permettent d’installer rapidement des bibliothèques sans ralentir l’heure de début de la session. Toutefois, si vous souhaitez utiliser des propriétés ou des bibliothèques Spark personnalisées supplémentaires à partir de votre espace de travail ou de vos paramètres de capacité, spark peut mettre plus de temps à obtenir les nœuds pour vous. Vous payez uniquement pour les pools de démarrage lorsque vous utilisez des sessions Spark pour exécuter des requêtes. Vous ne payez pas le temps pendant lequel Spark garde les nœuds prêts pour vous.

Spark pools

Un pool Spark est un moyen d’indiquer à Spark le type de ressources dont vous avez besoin pour vos tâches d’analyse de données. Vous pouvez donner un nom à votre pool Spark et choisir le nombre et la taille des nœuds (les machines qui effectuent le travail). Vous pouvez également indiquer à Spark comment ajuster le nombre de nœuds en fonction de la quantité de travail dont vous disposez. La création d’un pool Spark est gratuite. vous payez uniquement lorsque vous exécutez un travail Spark sur le pool, puis Spark configure les nœuds pour vous.

Si vous n’utilisez pas votre pool Spark pendant 2 minutes après la fin de votre travail, Spark le supprimera automatiquement. Cette propriété est appelée propriété « durée de vie » et vous pouvez la modifier si vous le souhaitez. Si vous êtes administrateur d’espace de travail, vous pouvez également créer des pools Spark personnalisés pour votre espace de travail et en faire l’option par défaut pour les autres utilisateurs. De cette façon, vous pouvez gagner du temps et éviter de configurer un nouveau pool Spark chaque fois que vous exécutez un notebook ou un travail Spark. Le démarrage des pools Spark personnalisés prend environ trois minutes, car Spark doit obtenir les nœuds à partir d’Azure.

La taille et le nombre de nœuds que vous pouvez avoir dans votre pool Spark personnalisé dépendent de votre capacité Microsoft Fabric. La capacité est une mesure de la puissance de calcul que vous pouvez utiliser dans Azure. L’une des façons de penser est que deux VCores Spark (une unité de puissance de calcul pour Spark) sont égaux à une unité de capacité. Par exemple, une référence SKU F64 de capacité fabric a 64 unités de capacité, ce qui équivaut à 128 VCores Spark. Vous pouvez utiliser ces VCores Spark pour créer des nœuds de différentes tailles pour votre pool Spark personnalisé, tant que le nombre total de VCores Spark ne dépasse pas 128.

Configurations de pool personnalisées possibles pour F64 basées sur l’exemple précédent :

Référence SKU de capacité d’infrastructure Unités de capacité Spark VCores Taille du nœud Nombre maximal de nœuds
F64 64 128 Petite 32
F64 64 128 Moyenne 16
F64 64 128 grand 8
F64 64 128 X-Large 4
F64 64 128 XX-Large 2

Notes

Pour créer des pools personnalisés, vous avez besoin d’autorisations d’administrateur pour l’espace de travail. Et l’administrateur de capacité Microsoft Fabric doit accorder des autorisations pour permettre aux administrateurs de l’espace de travail de dimensionner leurs pools Spark personnalisés. Pour en savoir plus, consultez Prise en main des pools Spark personnalisés dans Fabric

Nœuds

Un pool Apache Spark instance se compose d’un nœud principal et de deux nœuds Worker ou plus, avec au moins trois nœuds dans un instance Spark. Le nœud principal exécute des services de gestion supplémentaires tels que Livy, Yarn Resource Manager, Zookeeper et le pilote Spark. Tous les nœuds exécutent des services tels que l’agent de nœud et Yarn Node Manager. Tous les nœuds Worker exécutent le service Spark Executor.

Tailles de nœuds

Un pool Spark peut être défini avec des tailles de nœud qui vont d’un petit nœud de calcul (avec 4 vCore et 32 Go de mémoire) à un nœud de calcul volumineux (avec 64 vCore et 512 Go de mémoire par nœud). Les tailles de nœud peuvent être modifiées après la création du pool, même si la session active doit être redémarrée.

Taille vCore Mémoire
Small 4 32 Go
Moyenne 8 64 Go
Large 16 128 Go
X-Large 32 256 Go
XX-Large 64 512 Go

Mise à l’échelle automatique

La mise à l’échelle automatique des pools Apache Spark permet d’effectuer un scale-up et un scale-down automatique des ressources de calcul en fonction de la quantité d’activité. Lorsque la fonctionnalité de mise à l’échelle automatique est activée, vous définissez le nombre minimal et maximal de nœuds à mettre à l’échelle. Lorsque la fonctionnalité de mise à l’échelle automatique est désactivée, le nombre de nœuds définis reste fixe. Ce paramètre peut être modifié après la création du pool, même si le instance peut avoir besoin d’être redémarré.

Allocation dynamique

L’allocation dynamique permet à l’application Spark de demander davantage d’exécuteurs si les tâches dépassent la charge que les exécuteurs actuels peuvent supporter. Il libère également les exécuteurs lorsque les travaux sont terminés et si l’application Spark passe à l’état inactif. Les utilisateurs d’entreprise ont souvent du mal à régler les configurations de l’exécuteur, car elles sont très différentes selon les différentes étapes du processus d’exécution d’un travail Spark. Ces configurations dépendent également du volume de données traitées, qui change de temps à autre. Les utilisateurs peuvent activer l’option d’allocation dynamique des exécuteurs dans le cadre de la configuration du pool, ce qui permet l’allocation automatique des exécuteurs à l’application Spark en fonction des nœuds disponibles dans le pool Spark.

Lorsque l’option d’allocation dynamique est activée pour chaque application Spark envoyée, le système réserve des exécuteurs pendant l’étape d’envoi du travail en fonction du nombre maximal de nœuds. Les utilisateurs spécifient le nombre maximal de nœuds pour prendre en charge les scénarios de mise à l’échelle automatique réussis.

Étapes suivantes