Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :✅ l’engineering et la science des données dans Microsoft Fabric
Les expériences d’Ingénieurs de données et de science des données de Microsoft Fabric fonctionnent sur une plateforme de calcul Apache Spark complètement 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 la session Apache Spark, généralement en 5 à 10 secondes, sans avoir besoin de configuration manuelle. Vous bénéficiez également de la flexibilité nécessaire pour personnaliser les pools Apache Spark en fonction de vos exigences spécifiques en matière d'Ingénieurs de données et de science des données. La plateforme offre une expérience d’analytique optimisée et personnalisée. En bref, un pool de démarrage est un moyen rapide d’utiliser Spark préconfiguré, tandis qu’un pool Spark offre une personnalisation et une flexibilité.
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 informations plus rapidement.
Les pools de démarrage ont des clusters Apache Spark avec des sessions toujours activées et prêtes pour vos demandes. Ils utilisent des nœuds moyens qui effectuent un scale-up dynamique en fonction des besoins de vos travaux Spark.
Lorsque vous utilisez un pool de démarrage sans dépendances de bibliothèque supplémentaire ou propriétés Spark personnalisées, votre session démarre généralement en 5 à 10 secondes. Ce démarrage rapide est possible, car le cluster est déjà en cours d’exécution et ne nécessite pas de temps d’approvisionnement.
Remarque
Les pools de démarrage sont uniquement pris en charge pour les tailles de nœud moyennes et la sélection de toutes les autres tailles de nœud, ou la personnalisation des configurations de calcul entraîne une expérience de démarrage de session à la demande qui peut prendre entre 2 et 5 minutes
Toutefois, il existe plusieurs scénarios où votre session peut prendre plus de temps pour démarrer :
Vous avez des bibliothèques personnalisées ou des propriétés Spark
Si vous avez configuré des bibliothèques ou des paramètres personnalisés dans votre environnement, Spark doit personnaliser la session une fois qu’elle a été créée. Ce processus peut ajouter environ 30 secondes à 5 minutes à votre temps de démarrage, en fonction du nombre et de la taille de vos dépendances de bibliothèque.Les pools de démarrage dans votre région sont entièrement utilisés
Dans de rares cas, les pools de démarrage d’une région peuvent être temporairement épuisés en raison d’un trafic élevé. Lorsque cela se produit, Fabric fait tourner un nouveau cluster pour prendre en charge votre demande, ce qui prend environ 2 à 5 minutes. Une fois le nouveau cluster disponible, votre session démarre. Si vous avez également des bibliothèques personnalisées à installer, vous devez ajouter les 30 secondes supplémentaires à 5 minutes requises pour la personnalisation.Fonctionnalités avancées de mise en réseau ou de sécurité (liaisons privées ou réseaux virtuels managés)
Lorsque votre espace de travail dispose de fonctionnalités réseau telles que des liaisons privées de locataire ou des réseaux virtuels managés, les pools de démarrage ne sont pas pris en charge. Dans ce cas, Fabric doit créer un cluster à la demande, ce qui ajoute 2 à 5 minutes à l’heure de début de votre session. Si vous avez également des dépendances de bibliothèque, cette étape de personnalisation peut à nouveau ajouter 30 secondes à 5 minutes.
Voici quelques exemples de scénarios pour illustrer les heures de début potentielles :
| Scénario | Temps de démarrage classique |
|---|---|
| Paramètres par défaut, aucune bibliothèque | 5 à 10 secondes |
| Paramètres par défaut + dépendances de bibliothèque | 5 – 10 secondes + 30 secondes – 5 min (pour la configuration de la bibliothèque) |
| Trafic élevé dans la région, aucune bibliothèque | 2 à 5 minutes |
| Trafic élevé + dépendances de bibliothèque | 2 à 5 minutes + 30 secondes – 5 minutes (pour les bibliothèques) |
| Sécurité réseau (liaisons privées/réseau virtuel), aucune bibliothèque | 2 à 5 minutes |
| Sécurité réseau + dépendances de bibliothèque | 2 à 5 minutes + 30 secondes – 5 minutes (pour les bibliothèques) |
En ce qui concerne la facturation et la consommation de capacité, vous êtes facturé pour la consommation de capacité lorsque vous commencez à exécuter votre notebook ou la définition du travail Apache Spark. Vous n'êtes pas facturé pour la durée d'inactivité des clusters dans le pool.
Par exemple, si vous soumettez une tâche de bloc-notes à un pool de démarrage, vous êtes facturé uniquement pour la période pendant laquelle la session de bloc-notes est active. Le temps facturé n'inclut pas le temps d'inactivité ni le temps nécessaire à la personnalisation de la session avec le contexte Spark. Pour en savoir plus, découvrez comment configurer des pools de démarrage dans Fabric.
Les pools Spark
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 une tâche 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 l'expiration de votre session, votre pool Spark sera libéré. Cette période d’expiration de session par défaut est définie sur 20 minutes 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 une tâche Notebook ou Spark. Les pools Spark personnalisés prennent environ trois minutes pour démarrer, car Spark doit obtenir les nœuds d'Azure.
Vous pouvez même créer des pools Spark à nœud unique, en définissant le nombre minimum de nœuds sur un, de sorte que le pilote et l'exécuteur s'exécutent dans un seul nœud fourni avec une HA restaurable et adapté aux petites charges de travail.
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. Deux vCores Apache Spark (une unité de puissance de calcul pour Spark) équivalent à une unité de capacité.
Remarque
Dans Apache Spark, les utilisateurs obtiennent deux VCores Apache Spark pour chaque unité de capacité qu’ils réservent dans le cadre de leur référence SKU. Une unité de capacité = Deux VCores Spark, donc F64 => 128 VCores Spark, sur lesquels un multiplicateur de rafales de 3x est appliqué, ce qui donne un total de 384 VCores Spark
Par exemple, une SKU de capacité Fabric F64 a 64 unités de capacité, ce qui équivaut à 384 vCores Spark (64 * 2 * 3X multiplicateur en rafale). 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 384.
Les pools Spark sont facturés comme des pools de démarrage ; vous ne payez pas pour les pools Spark personnalisés que vous avez créés, sauf si vous disposez d'une session Spark active créée pour exécuter un notebook ou une définition de tâche Spark. Vous n'êtes facturé que pour la durée de vos exécutions de tâches. Vous n'êtes pas facturé pour des étapes telles que la création et la désallocation du cluster une fois le travail terminé.
Par exemple, si vous soumettez une tâche de bloc-notes à un pool Spark personnalisé, vous n'êtes facturé que pour la période pendant laquelle la session est active. La facturation de cette session de notebook s'arrête une fois la session Spark arrêtée ou expirée. Vous n'êtes pas facturé pour le temps nécessaire à l'acquisition des instances de cluster à partir du cloud ni pour le temps nécessaire à l'initialisation du contexte Spark.
Configurations de pool personnalisées possibles pour F64 en fonction de l’exemple précédent. Les tailles de nœuds plus petites ont une capacité répartie sur plusieurs nœuds, de sorte que le nombre maximal de nœuds est plus élevé. Alors que les nœuds plus volumineux sont riches en ressources, de sorte que moins de nœuds sont nécessaires :
| Capacité SKU de Fabric | Unités de capacité | VCore Spark maximum avec le facteur de rafale | Taille du nœud | Nombre maximum de nœuds |
|---|---|---|---|---|
| F64 | 64 | 384 | Petite | 96 |
| F64 | 64 | 384 | Moyenne | 48 |
| F64 | 64 | 384 | Grande | Vingt-quatre |
| F64 | 64 | 384 | X-Large | 12 |
| F64 | 64 | 384 | XX-Large | 6 |
Remarque
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 plus d’informations, consultez Prise en main des pools Spark personnalisés dans Fabric.
Nœuds
Une instance de pool Apache Spark se compose d’un nœud principal et de nœuds Worker avec un minimum d’un nœud dans une instance Spark. Le nœud principal exécute des services de gestion supplémentaires tels que Livy, Yarn Resource Manager, Zookeeper et le gestionnaire Apache 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 Apache Spark Executor.
Remarque
Dans Fabric, le ratio des nœuds aux exécuteurs est toujours de 1:1. Lorsque vous configurez un pool, un nœud est dédié au pilote et les nœuds restants sont utilisés pour les exécuteurs. La seule exception se trouve dans une configuration à nœud unique, où les ressources du pilote et de l’exécuteur sont divisées en deux.
Tailles de nœuds
Un pool Spark peut être défini avec des tailles de nœuds entre un petit nœud de calcul (avec 4 vCore et 32 Go de mémoire) et un nœud de calcul « double extra large » (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 bien que la session doive être redémarrée.
| Taille | vCore | Mémoire |
|---|---|---|
| Petite | 4 | 32 Go |
| Moyenne | 8 | 64 Go |
| Grande | 16 | 128 Go |
| X-Large | 32 | 256 Go |
| XX-Large | 64 | 512 Go |
Remarque
Les tailles de nœud X-Large et XX-Large sont uniquement autorisées pour les SKU Fabric autres que les essais.
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 vous activez la fonctionnalité de mise à l'échelle automatique, vous définissez le nombre minimum et maximum de nœuds à mettre à l'échelle. Lorsque vous désactivez la fonctionnalité de mise à l'échelle automatique, le nombre de nœuds défini reste fixe. Vous pouvez modifier ce paramètre après la création du pool, même si vous devrez peut-être redémarrer l'instance.
Remarque
Par défaut, spark.yarn.executor.decommission.enabled a la valeur true, ce qui permet l’arrêt automatique des nœuds sous-utilisés pour optimiser l’efficacité du calcul. Si le scale-down moins agressif est préféré, cette configuration peut être définie sur false
Ventilation dynamique
Le ventilation dynamique permet à l’application Apache 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 tâches sont terminées 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'une tâche Spark. Ces configurations dépendent également du volume de données traitées, qui change de temps à autre. Vous pouvez 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 vous activez l'option d'allocation dynamique pour chaque application Spark soumise, le système réserve des exécuteurs pendant l'étape de soumission de la tâche en fonction du nombre minimum de nœuds. Vous spécifiez le nombre maximal de nœuds pour prendre en charge des scénarios de mise à l'échelle automatique réussis.