Aller au contenu principal

Configurer le compute classique pour les pipelines

Configurez le compute classique pour LakeFlow Pipelines afin de contrôler les politiques de compute, les types d'instances et les paramètres de clusters. Pour une référence du schéma JSON, consultez la définition clusters dans la référence de l'API Pipeline.

Pour créer un pipeline qui s'exécute sur un compute classique, les utilisateurs doivent d'abord avoir l'autorisation de déployer un compute classique, soit une permission de création illimitée, soit l'accès à une politique de compute. Les pipelines Serverless ne nécessitent pas d'autorisations de création de compute. Par default, tous les utilisateurs du Workspace peuvent utiliser les pipelines Serverless.

remarque

Étant donné que le runtime de pipeline gère le cycle de vie du compute de pipeline et exécute une version personnalisée de Databricks Runtime, vous ne pouvez pas définir manuellement certains paramètres de compute dans une configuration de pipeline, tels que la version Spark ou les noms de cluster. Consultez les attributs de cluster qui ne sont pas configurables par l'utilisateur.

Sélectionner le compute pour votre pipeline

Pour configurer le compute classique pour votre pipeline à partir de l'Éditeur de Lakeflow Pipelines :

  1. Cliquez sur Paramètres .
  2. Dans la section **Compute** des paramètres du pipeline, cliquez sur Icône de crayon. modifier.
  3. Si elle est cochée, décochez Serverless .
  4. Apportez toute autre modification aux paramètres de compute, puis cliquez sur **Enregistrer**.

Ceci configure votre pipeline pour utiliser le compute classique, et vous permet de modifier les paramètres du compute, comme décrit ci-dessous.

Pour plus d'information sur l'éditeur LakeFlow Pipelines, consultez Développer et déboguer les pipelines ETL avec l'éditeur LakeFlow Pipelines.

Sélectionnez une politique de compute

Les administrateurs du Workspace peuvent configurer des politiques de compute pour fournir aux utilisateurs un accès aux Ressources de compute classiques pour les pipelines. Les politiques de compute sont facultatives. Vérifiez auprès de l'administrateur de votre Workspace si vous ne disposez pas des privilèges de compute requis. Consultez Définir des limites sur le Lakeflow pipelines compute.

Lorsque vous utilisez l'API Pipelines, pour vous assurer que les valeurs par default de la politique de compute sont correctement appliquées, définissez "apply_policy_default_values": true dans la définition clusters :

JSON
{
"clusters": [
{
"label": "default",
"policy_id": "<policy-id>",
"apply_policy_default_values": true
}
]
}

Configurer les tags de compute

Vous pouvez ajouter des tags personnalisés aux ressources de compute classiques de votre pipeline. Les tags vous permettent de surveiller le coût des ressources de compute utilisées par les différents groupes de votre organisation. Databricks applique ces tags aux ressources cloud et aux Logs d'utilisation enregistrés dans les tables système d'utilisation. Vous pouvez ajouter des tags en utilisant le paramètre d'interface utilisateur **Cluster tags** ou en modifiant la configuration JSON de votre pipeline.

Sélectionnez les types d'instance pour exécuter un pipeline

Par default, le pipeline sélectionne les types d'instance pour ses nœuds Driver et Worker. Vous pouvez éventuellement configurer les types d'instances. Par exemple, sélectionnez les types d'instance pour améliorer les performances du pipeline ou résoudre les problèmes de mémoire lors de l'exécution de votre pipeline.

Pour configurer les types d'instances lorsque vous créez ou modifiez un pipeline dans l'éditeur Lakeflow Pipelines :

  1. Cliquez sur le bouton Paramètres .
  2. Dans la section Compute des paramètres du pipeline, cliquez sur l'Icône de crayon..
  3. Dans la section Paramètres avancés , sélectionnez le type d'instance Worker et le type d'instance Driver pour le pipeline.

Configurer des paramètres séparés pour les clusters de mise à jour et de maintenance

Chaque pipeline déclaratif dispose de deux ressources de compute associées : un cluster de mise à jour qui traite les mises à jour du pipeline et un cluster de maintenance qui exécute les tâches de maintenance quotidiennes (y compris l'optimisation prédictive). Par default, vos configurations de compute s'appliquent à ces deux clusters. L'utilisation des mêmes paramètres pour les deux clusters améliore la fiabilité des exécutions de maintenance en garantissant que les configurations requises, telles que les informations d'identification d'accès aux données pour un emplacement de stockage, sont appliquées au cluster de maintenance.

Pour appliquer les paramètres à un seul des deux clusters, ajoutez le champ label à l'objet JSON de paramétrage. Il y a trois valeurs possibles pour le champ label :

  • maintenance: S'applique uniquement au cluster de maintenance.
  • updates: applique le paramètre uniquement au cluster de mise à jour.
  • default: Applique le paramètre aux clusters de mise à jour et de maintenance. C'est la valeur default si le champ label est omis.

S'il existe un paramètre en conflit, le paramètre avec l'étiquette updates ou maintenance outrepasse le paramètre défini avec l'étiquette default.

remarque

Le cluster de maintenance quotidien est utilisé uniquement dans certains cas :

  • Pipelines stockés dans Hive metastore.
  • Pipelines dans les workspaces qui n'ont pas accepté les conditions d'utilisation du compute serverless. Si vous avez besoin d'aide pour accepter les conditions, contactez votre représentant Databricks.

Exemple : définir un paramètre pour la mise à jour du cluster

L'exemple suivant définit un paramètre de configuration Spark qui est ajouté uniquement à la configuration du cluster updates :

JSON
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}

Exemple : Configurez les types d'instances pour le cluster de mise à jour

Pour éviter d'assigner des ressources inutiles au cluster maintenance, cet exemple utilise l'étiquette updates pour définir les types d'instance uniquement pour le cluster updates.

JSON
{
"clusters": [
{
"label": "updates",
"node_type_id": "r6i.xlarge",
"driver_node_type_id": "i3.large",
"...": "..."
}
]
}

Retarder l'arrêt du compute

Pour contrôler le comportement d'arrêt du cluster, utilisez le paramètre pipelines.clusterShutdown.delay dans la configuration du pipeline. L'exemple suivant définit la valeur pipelines.clusterShutdown.delay à 60 secondes :

JSON
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}

La valeur par default pour pipelines.clusterShutdown.delay dépend du comportement d'exécution de la mise à jour: 0 seconds pour les mises à jour qui utilisent le comportement de nouvelle tentative et de redémarrage automatique, et 2 hours pour les mises à jour ad hoc qui utilisent un comportement de démarrage rapide et axé sur le débogage.

remarque

Étant donné que les Ressources de compute du pipeline s'arrêtent automatiquement lorsqu'elles ne sont pas utilisées, vous ne pouvez pas utiliser une stratégie de compute qui définit autotermination_minutes. Cela entraîne une erreur.

Créer un compute à nœud unique

Un compute à nœud unique possède un nœud Driver qui agit à la fois comme maître et comme Worker. Ceci est destiné aux charges de travail qui utilisent de petites quantités de données ou ne sont pas distribuées.

Pour créer un compute à nœud unique, définissez num_workers à 0. Par exemple :

JSON
{
"clusters": [
{
"num_workers": 0
}
]
}