Partager via


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 sans serveur est une option de calcul pour les notebooks, les tâches, et les pipelines déclaratifs Spark de Lakeflow. 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 ?.

Sélectionner un mode d’accès approprié

Le calcul universel classique et les travaux ont un paramètre de mode d’accès qui détermine qui peut attacher et utiliser la ressource de calcul. Dans le catalogue Unity, le calcul doit utiliser le mode d’accès standard ou dédié.

Le calcul standard peut être partagé par plusieurs utilisateurs et groupes tout en appliquant l’isolation des utilisateurs et toutes les autorisations d’accès aux données au niveau de l’utilisateur et du groupe. Cela facilite la gestion et l’efficacité de la plupart des charges de travail, en particulier celles qui appliquent un contrôle d’accès affiné.

Le calcul dédié est recommandé si vous avez besoin d’accéder aux fonctionnalités non disponibles sur le calcul standard, comme les API RDD, les instances GPU, R ou Databricks Container Service. Pour plus d’informations, consultez exigences et limitations de calcul standard.

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 les stratégies et les familles de stratégies par défaut.

Évaluer si vous bénéficieriez de Photon

De nombreuses charges de travail bénéficient de Photon, mais il est le plus avantageux pour les charges de travail SQL et les opérations dataFrame impliquant des transformations complexes, telles que des jointures, des agrégations et des analyses de données sur des tables volumineuses. Les charges de travail avec accès fréquent au disque, tables larges ou traitement de données répétés voient également des performances améliorées.

Les travaux ETL par lots simples qui n’impliquent pas de transformations larges ou de volumes de données volumineux peuvent avoir un impact minimal sur l’activation de Photon, en particulier si les requêtes se terminent généralement en moins de deux secondes.

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 y a un équilibre à trouver entre le nombre de travailleurs et la taille des types d’instances 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

Pour les travaux ETL par lots simples qui ne nécessitent pas de transformations larges, telles que des jointures ou des agrégations, utilisez des instances avec des exigences inférieures pour la mémoire et le stockage. Cela peut entraîner des économies sur d’autres types de travailleurs.

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.