Recommandations de configuration de calcul
Cet article inclut des recommandations et des meilleures pratiques relatives à la configuration du calcul.
Si votre charge de travail est prise en charge, Databricks recommande d’utiliser le calcul serverless plutôt que de configurer votre propre ressource de calcul. Le calcul serverless est l’option de calcul la plus simple et la plus fiable. Il ne nécessite aucune configuration, est toujours disponible et s’adapte votre charge de travail. Le calcul serverless est disponible pour les notebooks, les tâches et les tables Delta Live. Voir Se connecter à un calcul serverless.
En outre, les analystes de données peuvent utiliser des entrepôts SQL serverless pour interroger et explorer des données sur Databricks. Consultez Que sont les entrepôts SQL serverless ?.
Utiliser des stratégies de calcul
Si vous créez un nouveau calcul à partir de zéro, Databricks recommande d’utiliser des stratégies de calcul. Les stratégies de calcul vous permettent de créer des ressources de calcul préconfigurées conçues à des fins spécifiques, telles que le calcul personnel, le calcul partagé, les utilisateurs expérimentés et les tâches. Les stratégies limitent les décisions que vous devez prendre lors de la configuration des paramètres de calcul.
Si vous n’avez pas accès aux stratégies, contactez l’administrateur de votre espace de travail. Consultez Stratégies par défaut et familles de stratégies.
Considérations relatives au dimensionnement de la capacité de calcul
Remarque
Les recommandations suivantes supposent que vous disposez d’une création de cluster sans restriction. Les administrateurs d’espace de travail ne doivent accorder ce privilège qu’aux utilisateurs avancés.
Les gens considèrent souvent la taille de calcul en termes de nombre de Workers, mais il existe d’autres facteurs importants à prendre en compte :
- Nombre total de cœurs d’exécuteur (calcul) : nombre total de cœurs sur tous les exécuteurs. Cela détermine le parallélisme maximal d’un calcul.
- Mémoire totale de l’exécuteur : quantité totale de RAM sur tous les exécuteurs. Cela détermine la quantité de données pouvant être stockées en mémoire avant de les déverser sur le disque.
- Stockage local de l’exécuteur : type et quantité de stockage sur disque local. Le disque local est principalement utilisé en cas de débordement lors des brassages et de la mise en cache.
Les considérations supplémentaires incluent le type et la taille de l’instance de travail, qui influencent également les facteurs ci-dessus. Lors du dimensionnement de votre calcul, tenez compte des éléments suivants :
- Quelle est la quantité de données consommées par votre charge de travail ?
- Quelle est la complexité de calcul de votre charge de travail ?
- Où sont lues les données ?
- Comment les données sont-elles partitionnées dans un stockage externe ?
- De quel degré de parallélisme avez-vous besoin ?
La réponse à ces questions vous aidera à déterminer les configurations de calcul optimales en fonction des charges de travail.
Il existe un acte d’équilibrage entre le nombre de threads de travail et la taille des types d’instance de travail. La configuration d’un calcul avec deux Workers, chacun avec 16 cœurs et 128 Go de RAM, a le même calcul et la même mémoire que la configuration d’un calcul avec 8 Workers, chacun avec 4 cœurs et 32 Go de RAM.
Exemples de configuration de calcul
Les exemples suivants illustrent des recommandations de calcul basées sur des types de charges de travail spécifiques. Ces exemples incluent également des configurations pour éviter et pourquoi ces configurations ne conviennent pas aux types de charges de travail.
Remarque
Tous les exemples de cette section (en plus de l’apprentissage automatique) peuvent tirer parti de l’utilisation d’un calcul serverless plutôt que de la création d’une nouvelle ressource informatique. Si votre charge de travail n’est pas prise en charge sur serverless, utilisez les recommandations ci-dessous pour vous aider à configurer votre ressource de calcul.
Analyse des données
Les analystes de données effectuent généralement un traitement nécessitant des données à partir de plusieurs partitions, ce qui entraîne de nombreuses opérations de lecture aléatoire. Une ressource de calcul avec un plus petit nombre de grands nœuds peut réduire le réseau et les E/S de disque nécessaires pour effectuer ces lectures aléatoires.
Un calcul à nœud unique avec un type de machine virtuelle volumineux est probablement le meilleur choix, en particulier pour un analyste seul.
Les charges de travail analytiques nécessiteront probablement la lecture répétée des mêmes données. Les types de nœuds recommandés sont donc les nœuds à stockage optimisé avec cache de disque activé ou les instances avec stockage local.
Les fonctionnalités supplémentaires recommandées pour les charges de travail analytiques sont les suivantes :
- Activez la terminaison automatique pour vous assurer que le calcul est terminé après une période d’inactivité.
- Envisagez d’activer la mise à l’échelle automatique en fonction de la charge de travail classique de l’analyste.
ETL de base pour le traitement par lots
Les tâches ETL par lots simples qui ne nécessitent pas de transformations importantes, telles que des jointures ou des agrégations, bénéficient typiquement de Photon. Sélectionnez donc une instance à usage général qui prend en charge Photon.
Les instances moins exigeantes en termes de mémoire et de stockage peuvent permettre de réaliser des économies par rapport à d’autres types de collaborateurs.
ETL (traitement par lots) complexe
Pour une tâche ETL complexe, telle que celle qui nécessite des unions et des jointures entre plusieurs tables, Databricks recommande d’utiliser moins de collaborateurs afin de réduire la quantité de données mélangées. Pour compenser le fait d’avoir moins de collaborateurs, augmentez la taille de vos instances.
Les transformations complexes peuvent être gourmandes en calcul. Si vous observez un déversement significatif sur le disque ou les erreurs OOM, augmentez la quantité de mémoire disponible sur vos instances.
Si vous le souhaitez, utilisez des pools pour réduire les temps de lancement de calcul et réduire le runtime total lors de l’exécution de pipelines de travaux.
Entraînement des modèles de Machine Learning
Pour entraîner des modèles Machine Learning, Databricks recommande de créer une ressource de calcul à l’aide de la stratégie de calcul personnel.
Il est conseillé d’utiliser un calcul à nœud unique avec un type de nœud volumineux pour l’expérimentation initiale de formation des modèles Machine Learning. Le fait d’avoir moins de nœuds réduit l’impact des opérations aléatoires.
L’ajout de Workers supplémentaires peut favoriser la stabilité, mais vous devez éviter d’ajouter trop de Workers en raison de la surcharge liée à la répartition aléatoire des données.
Les types de collaborateurs recommandés sont un stockage optimisé avec mise en cache du disque activée, ou une instance avec un stockage local pour tenir compte des lectures répétées des mêmes données et pour permettre la mise en cache des données d’entraînement.
Les fonctionnalités supplémentaires recommandées pour les charges de travail de Machine Learning sont les suivantes :
- Activez la terminaison automatique pour vous assurer que le calcul est terminé après une période d’inactivité.
- Utiliser des pools permettra de restreindre les calculs à des types d’instances pré-approuvés.
- Vérifiez les configurations de calcul cohérentes à l’aide de stratégies.