Configurer le calcul pour un pipeline Delta Live Tables
Cet article contient des instructions et des considérations lors de la configuration des paramètres de calcul personnalisés pour les pipelines Delta Live Tables.
Les pipelines serverless ne fournissent pas d’options de configuration de calcul. Consultez Configurer un pipeline Delta Live Tables serverless.
Sélectionner une stratégie de cluster
Les utilisateurs doivent disposer des autorisations de déploiement du calcul pour configurer et mettre à jour des pipelines Delta Live Tables. Les administrateurs d’espace de travail peuvent configurer des stratégies de cluster pour permettre aux utilisateurs d’accéder aux ressources de calcul pour Delta Live Tables. Consultez Définir des limites sur le calcul de pipeline Delta Live Tables.
Remarque
Les stratégies de cluster sont facultatives. Vérifiez auprès de votre administrateur d’espace de travail si vous n’avez pas les privilèges de calcul requis pour les tables dynamiques Delta.
Pour vous assurer que les valeurs par défaut de stratégie de cluster sont correctement appliquées, définissez-les
apply_policy_default_values
true
dans les configurations de cluster de votre configuration de pipeline :{ "clusters": [ { "label": "default", "policy_id": "<policy-id>", "apply_policy_default_values": true } ] }
Configurer des balises de cluster
Vous pouvez utiliser des étiquettes de cluster pour surveiller l’utilisation de vos clusters de pipeline. Ajoutez des balises de cluster dans l’interface utilisateur Delta Live Tables lorsque vous créez ou modifiez un pipeline ou en modifiant les paramètres JSON de vos clusters de pipeline.
Sélectionner des types d’instance pour exécuter un pipeline
Par défaut, Delta Live Tables sélectionne les types d’instances pour les nœuds worker et pilote de votre pipeline. Vous pouvez éventuellement configurer les types d’instances.
Par exemple, sélectionnez des types d’instances pour améliorer les performances du pipeline ou résoudre les problèmes de mémoire lors de l’exécution de votre pipeline. Vous pouvez configurer des types d’instance lorsque vous créez ou modifiez un pipeline avec l’API REST, ou dans l’interface utilisateur de Delta Live Tables.
Pour configurer des types d’instance lorsque vous créez ou modifiez un pipeline dans l’interface utilisateur Delta Live Tables :
- Cliquez sur le bouton Settings .
- Dans la section Avancé des paramètres de pipeline, dans les menus déroulants Type de worker et Type de pilote, sélectionnez les types d’instances pour le pipeline.
Configurations de calcul avancées
Remarque
Étant donné que les ressources de calcul sont entièrement gérées pour les pipelines DLT serverless, les paramètres de calcul ne sont pas disponibles lorsque vous sélectionnez Serverless pour un pipeline.
Chaque pipeline Delta Live Tables a deux clusters associés :
- Le cluster
updates
traite les mises à jour du pipeline. - Le cluster
maintenance
exécute des tâches de maintenance quotidiennes.
Les paramètres de calcul spécifiés à l’aide de l’interface utilisateur de configuration du pipeline d’espace de travail s’appliquent aux clusters de mise à jour et de maintenance. Vous devez modifier la configuration JSON pour modifier ces paramètres indépendamment.
La configuration utilisée par ces clusters est déterminée par l’attribut clusters
spécifié dans vos paramètres de pipeline.
À l’aide d’étiquettes de cluster, vous pouvez ajouter des paramètres de calcul qui s’appliquent uniquement à un type de cluster spécifique. Vous pouvez utiliser trois étiquettes différentes lors de la configuration de clusters de pipeline :
Remarque
Le paramètre d’étiquette de cluster peut être omis si vous définissez une seule configuration de cluster. L’étiquette default
est appliquée aux configurations de cluster si aucun paramètre n’est fourni pour l’étiquette. Le paramètre d’étiquette de cluster est requis uniquement si vous devez personnaliser les paramètres pour différents types de cluster.
- L’étiquette
default
définit les paramètres de calcul pour les clusters etmaintenance
lesupdates
clusters. Appliquer les mêmes paramètres aux deux clusters améliore la fiabilité des exécutions de maintenance en veillant à ce que les configurations requises, par exemple les informations d’identification d’accès aux données pour un emplacement de stockage, soient appliquées au cluster de maintenance. - L’étiquette
maintenance
définit les paramètres de capacité de calcul à appliquer uniquement au clustermaintenance
. Vous pouvez également utiliser l’étiquettemaintenance
pour remplacer les paramètres configurés par l’étiquettedefault
. - L’étiquette
updates
définit les paramètres à appliquer uniquement au clusterupdates
. Utilisez-le pour configurer les paramètres qui ne doivent pas être appliqués aumaintenance
cluster.
Les paramètres définis à l’aide des étiquettes default
et updates
sont fusionnés pour créer la configuration finale du cluster updates
. Si le même paramètre est défini à l’aide des étiquettes default
et updates
, le paramètre défini avec l’étiquette updates
remplace le paramètre défini par l’étiquette default
.
L’exemple suivant définit un paramètre de configuration Spark qui est ajouté uniquement à la configuration du cluster updates
:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
Delta Live Tables fournit des options similaires pour les paramètres de cluster que d’autres calculs sur Azure Databricks. Comme d’autres paramètres de pipeline, vous pouvez modifier la configuration JSON des clusters afin de spécifier des options qui ne sont pas présentes dans l’interface utilisateur. Voir Calculer.
Remarque
Étant donné que le runtime Delta Live Tables gère le cycle de vie des clusters de pipeline et exécute une version personnalisée de Databricks Runtime, vous ne pouvez pas définir manuellement certains paramètres de cluster dans une configuration de pipeline, comme la version Spark ou les noms de cluster. Consultez Attributs de cluster qui ne sont pas définissables par l’utilisateur.
Configurer les types d’instances pour les clusters de mise à jour et de maintenance
Pour configurer les types d’instances dans les paramètres JSON du pipeline, cliquez sur le bouton JSON et entrez les configurations de type d’instance dans la configuration du cluster :
Remarque
Pour éviter d’affecter des ressources inutiles au cluster maintenance
, cet exemple utilise l’étiquette updates
pour définir les types d’instance uniquement pour le cluster updates
. Pour affecter les types d’instance aux clusters updates
et maintenance
, utilisez l’étiquette default
ou omettez le paramètre de l’étiquette. L’étiquette default
est appliquée aux configurations de cluster de pipeline si aucun paramètre n’est fourni pour l’étiquette. Consultez les configurations de calcul avancées.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"..." : "..."
}
]
}
Retarder l’arrêt du calcul
Pour contrôler le comportement d’arrêt des clusters, vous pouvez utiliser le mode de développement ou de production, ou utiliser le paramètre pipelines.clusterShutdown.delay
dans la configuration du pipeline. L’exemple suivant définit la valeur de pipelines.clusterShutdown.delay
sur 60 secondes :
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
Lorsque le mode production
est activé, la valeur par défaut pour pipelines.clusterShutdown.delay
est 0 seconds
. Lorsque le mode development
est activé, la valeur par défaut est 2 hours
.
Remarque
Étant donné qu’un cluster Delta Live Tables s’arrête automatiquement lorsqu’il n’est pas utilisé, le référencement d’une stratégie de cluster qui se définit autotermination_minutes
dans la configuration de votre cluster entraîne une erreur.
Créer un cluster mononœud
Si vous définissez num_workers
sur 0 dans les paramètres du cluster, le cluster est créé en tant que cluster à nœud unique. La configuration d’un cluster de mise à l’échelle automatique et la valeur min_workers
0 et max_workers
0 crée un cluster à nœud unique.
Si vous configurez un cluster de mise à l’échelle automatique et que vous définissez uniquement min_workers
sur 0, le cluster n’est pas créé en tant que cluster à nœud unique. Le cluster a au moins un Worker actif à tout moment jusqu’à ce qu’il soit arrêté.
Exemple de configuration de cluster pour créer un cluster à nœud unique dans Delta Live Tables :
{
"clusters": [
{
"num_workers": 0
}
]
}