Notes
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’ingénierie et la science des données dans Microsoft Fabric
Microsoft Fabric permet l’allocation d’unités de calcul par le biais de la capacité, qui est un ensemble dédié de ressources disponibles à l’utilisation à un moment donné. La capacité définit la possibilité d’une ressource à effectuer une activité ou à produire une sortie. Différents éléments consomment une capacité différente à un moment donné. Microsoft Fabric offre une capacité via les références SKU et les versions d’évaluation de Fabric. Pour plus d’informations, consultez Qu’est-ce que la capacité ?.
Lorsque les utilisateurs créent une capacité Microsoft Fabric sur Azure, ils choisissent une taille de capacité en fonction de la taille de leur charge de travail d’analyse. Dans Apache Spark, les utilisateurs obtiennent deux Apache Spark VCores pour chaque unité de capacité qu'ils réservent dans le cadre de leur SKU.
Une unité de capacité = deux VCores Spark
Une fois qu’ils ont acheté la capacité, les administrateurs peuvent créer des espaces de travail dans la limite de la capacité dans Microsoft Fabric. Les VCores Spark associés à la capacité sont partagés entre tous les éléments basés sur Apache Spark, tels que les blocs-notes, les définitions de tâches Apache Spark et les lakehouses créés dans ces espaces de travail.
Limitation de la concurrence et mise en file d'attente
Spark pour Fabric applique un mécanisme de limitation et de mise en file d’attente basé sur les cœurs, où les utilisateurs peuvent soumettre des travaux en fonction des références SKU de capacité Fabric achetées. Le mécanisme de mise en file d’attente est une file d’attente simple basée sur FIFO qui recherche les emplacements de travail disponibles et réessaye automatiquement d’effectuer les travaux une fois la capacité disponible.
Lorsque les utilisateurs envoient des travaux de notebook ou lakehouse (tels que Télécharger dans une table) et que la capacité est à l’utilisation maximale , en raison de travaux simultanés utilisant tous les VCores Spark, ils reçoivent l’erreur suivante :
HTTP Response code 430: This Spark job can't be run because you have hit a Spark compute or API rate limit. To run this Spark job, cancel an active Spark job through the Monitoring hub, or choose a larger capacity SKU or try again later.
Lorsque la mise en file d'attente est activée, les travaux de notebook déclenchées à partir des pipelines, du planificateur de travaux et des définitions de travaux Spark sont ajoutés à la file d’attente et automatiquement réessayés lorsque la capacité est libérée.
Remarque
L’expiration de la file d’attente est définie sur 24 heures à partir de l’heure de soumission du travail. Après cette période, les travaux sont supprimés de la file d’attente et doivent être remis manuellement.
Les capacités Fabric sont également activées avec le bursting, ce qui vous permet de consommer jusqu’à 3× le nombre de VCores Spark que vous avez achetés. Cette rafale permet d’améliorer l’exécution concurrente en autorisant à un plus grand nombre de travaux de s’exécuter en parallèle.
Remarque
Le facteur de rafale augmente le nombre total de VCores Spark afin de permettre la concurrence et peut être exploité par un seul travail, à condition que le pool Spark soit configuré avec un nombre de cœurs plus élevé.
En d’autres termes, la configuration du pool détermine le nombre maximal de cœurs qu’une tâche peut utiliser, et pas seulement l’allocation SKU de base.
Exemple :
Si vous avez une référence SKU F64 avec 384 VCores Spark maximum avec Burst Factor :
- Vous pouvez configurer un pool personnalisé ou de démarrage avec jusqu’à 384 VCores Spark.
- Si un administrateur d’espace de travail crée un tel pool, un seul travail Spark (par exemple, un bloc-notes, une définition de travail ou un travail lakehouse) peut utiliser tous les 384 VCores.
- Exemple : un pool avec
Medium
nœuds (8 VCores chacun) et 48 nœuds maximum = 384 VCores.
Conseil / Astuce
Pour optimiser les performances des travaux, vérifiez que votre pool d’espaces de travail est configuré avec une taille et un nombre de nœuds suffisants.
Limites de référence SKU de capacité Spark
Référence SKU de capacité Fabric | SKU Power BI équivalent | Spark vCores | Nombre maximal de VCores Spark avec facteur de rafale | Limite de la file d'attente |
---|---|---|---|---|
F2 | - | 4 | 20 | 4 |
F4 | - | 8 | Vingt-quatre | 4 |
F8 | - | 16 | 48 | 8 |
F16 | - | 32 | 96 | 16 |
F32 | - | 64 | 192 | 32 |
F64 | P1 | 128 | 384 | 64 |
F128 | P2 | 256 | 768 | 128 |
F256 | P3 | 512 | 1536 | 256 |
F512 | P4 | 1 024 | 3 072 | 512 |
F1024 | - | 2 048 | 6144 | 1 024 |
F2048 | - | 4096 | 12288 | 2 048 |
Capacité d'essai | P1 | 128 | 128 | N/D |
Important
Le tableau s’applique uniquement aux tâches Spark exécutées sur Fabric Capacity. Avec la facturation à mise à l’échelle automatique activée, les travaux Spark s’exécutent séparément de la capacité Fabric, évitant ainsi les rafales ou le lissage. Le nombre total de VCores Spark sera deux fois plus élevé que les unités de capacité maximale définies dans les paramètres de mise à l’échelle automatique.
Exemple de calcul
- Une référence SKU F64 offre 128 VCores Spark.
- Avec un facteur de rafale de 3, il prend en charge jusqu’à 384 VCores Spark pour l’exécution simultanée.
- Si un pool est configuré avec les VCores 384 complets, un seul travail peut les utiliser, en supposant qu’aucun autre travail ne consomme de capacité.
- Exemple : 3 travaux utilisant 128 VCores chacun peuvent s’exécuter simultanément ou 1 travail à l’aide de 384 VCores peuvent s’exécuter.
Remarque
Les travaux ont une période d’expiration de 24 heures, après laquelle ils sont annulés, et les utilisateurs doivent les soumettre à nouveau pour exécution.
La limitation de Spark for Fabric n’impose pas de limites arbitraires basées sur les travaux, et la limitation est uniquement basée sur le nombre de cœurs autorisés pour la référence SKU de capacité Fabric achetée. L’admission de travaux par défaut sera un contrôle d’admission optimiste, où les travaux sont admis en fonction de leurs exigences minimales en matière de cœurs. En savoir plus : Admission et gestion des emplois.
Si l'option pool par défaut (Starter Pool) est sélectionnée pour l'espace de travail, le tableau suivant répertorie les limites maximales de simultanéité des tâches.
En savoir plus : Configuration des pools de démarrage.
Les administrateurs peuvent configurer leurs pools Apache Spark pour utiliser le nombre maximal de VCores Spark disponibles dans la capacité, y compris le facteur de rafale de 3× que Fabric offre pour l’exécution simultanée. Par exemple, un administrateur d’espace de travail disposant d’une capacité F64 Fabric peut configurer son pool Spark (pool de démarrage ou pool personnalisé) pour qu’il utilise jusqu’à 384 VCores Spark par :
Définir le nombre maximal de nœuds du pool de démarrage à 48 (avec des nœuds de taille moyenne = 8 VCores chacun) ou
Configuration d’un pool personnalisé à l’aide de nœuds plus volumineux (par exemple, XXLarge = 64 VCores chacun) avec un nombre de nœuds approprié pour atteindre la capacité souhaitée.
Avec cette configuration, un seul travail Spark peut consommer toute la capacité de rafale, qui est idéale pour le traitement des données à grande échelle qui hiérarchise les performances.
Nouveauté : Les administrateurs de capacité disposent désormais d'un contrôle sur l'activation ou la désactivation du bursting des tâches grâce à un nouveau paramètre dans le Portail d’Administration.
Accédez à l’onglet Paramètres de capacité → du portail d’administration → Data Engineering/Science
Utilisez le nouveau commutateur « Désactiver Job-Level bursting » pour empêcher une seule tâche Spark de consommer toute la capacité de surcharge disponible.
Remarque
Lorsque le bursting au niveau du job est désactivé, le moteur Spark veille à ce qu’aucun job unique ne puisse utiliser toute la capacité disponible (y compris les cœurs de bursting). Cela garantit que la capacité reste disponible pour les travaux simultanés, ce qui améliore le débit et la concurrence multi-utilisateur.
Cette fonctionnalité est particulièrement utile dans les environnements multilocataires ou haute concurrence, où les charges de travail doivent être équilibrées entre plusieurs équipes et pipelines. Les administrateurs peuvent régler ce paramètre en fonction de l'optimisation de la capacité pour un débit maximal des tâches (bursting activé) ou pour une meilleure concurrence et équité (bursting désactivé).
Exemples de scénarios avec le mode de surcapacité activé (par défaut) : un travail de bloc-notes par lots volumineux peut consommer les 384 VCores Spark d'une capacité F64, à condition qu'aucun autre travail ne soit en cours.
Burst désactivé : un travail peut être plafonné à la limite de base des cœurs (par exemple, 128 VCores Spark pour F64), permettant à d'autres travaux de démarrer simultanément.
Conseil / Astuce
Pour les équipes ayant des types de travaux divers (ETL, ML, Adhoc), la désactivation de la capacité d'expansion au niveau des tâches peut aider à éviter la monopolisation de la capacité et à réduire les délais d'attente dans les files de travaux.
Contenu connexe
- Prise en main des paramètres d’administration de l’espace de travail Apache Spark dans Microsoft Fabric
- En savoir plus sur le calcul Apache Spark pour Fabric pour l’ingénierie des données et les charges de travail de science des données