Référence des propriétés du pipeline
Référence pour les paramètres de configuration du pipeline JSON et les propriétés de la table. Pour plus de détails sur l'utilisation de ces propriétés et configurations, consultez les articles suivants :
Configuration des Lakeflow pipelines et Apache Spark™ Declarative Pipelines
Les LakeFlow Pipelines sont basés sur les Pipelines déclaratifs Apache Spark™ (SDP). La configuration du pipeline est en grande partie un sur-ensemble de la spécification de projet SDP. Les différences d'utilisation des propriétés entre les pipelines SDP et LakeFlow Pipelines sont notées. Pour une comparaison des capacités que les LakeFlow Pipelines et SDP partagent, voir Apache Spark Declarative Pipelines.
Configurations de pipeline
-
idType :
stringUn identifiant unique global pour ce pipeline. L'identifiant est attribué par le système et ne peut pas être modifié.
Lakeflow pipelines uniquement. SDP n'attribue pas d'identifiant de pipeline
-
nameType :
stringUn nom convivial pour ce pipeline. Le nom peut être utilisé pour identifier les Jobs de pipeline dans l’interface utilisateur.
Disponible dans SDP en tant que champ obligatoire
name -
configurationType :
objectUne liste facultative de paramètres à ajouter à la configuration Spark du cluster qui exécute le pipeline. Ces paramètres sont lus par l'environnement d'exécution du pipeline et disponibles pour les requêtes de pipeline via la configuration Spark.
Les éléments doivent être formatés sous forme de paires
key:value.Disponible en SDP en tant que
configuration -
parametersType :
object
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.
Un mappage facultatif de paires clé-valeur que le code source du pipeline peut référencer à l'aide de la syntaxe des paramètres nommés (par exemple, :source_catalog). Utilisez les parameters pour réutiliser le même code source de pipeline dans différents environnements ou datasets sans modifier la source.
Les clés peuvent contenir des caractères alphanumériques, des traits de soulignement (_), des tirets (-) et des points (.). Les valeurs sont toujours des chaînes.
Vous pouvez remplacer ces default lors du démarrage d'une mise à jour, sur une tâche de pipeline dans un Job, ou avec des paramètres de Job transmis. Les paramètres du pipeline peuvent uniquement être référencés à partir du code source SQL. Consultez Utiliser des paramètres avec des pipelines.
LakeFlow Pipelines uniquement
-
librariesType :
array of objectsUn tableau de fichiers de code contenant le code de pipeline et les artefacts requis.
Disponible dans SDP sous la forme de
libraries, spécifié comme une liste de modèles globaux de fichiers source plutôt que comme un tableau d'objets de fichiers de code -
clustersType :
array of objectsUn tableau de spécifications pour les clusters afin d'exécuter le pipeline.
Si cela n'est pas spécifié, les pipelines sélectionnent automatiquement une configuration de cluster par default pour le pipeline.
Lakeflow pipelines uniquement. SDP ne gère pas le compute
-
developmentType :
booleanUn indicateur spécifiant s'il faut exécuter le pipeline en mode
developmentouproduction.La valeur par default est
false.LakeFlow Pipelines uniquement
-
notificationsType :
array of objectsTableau facultatif de spécifications pour les notifications par e-mail lorsqu'une mise à jour de pipeline se termine, échoue avec une erreur récupérable, échoue avec une erreur irrécupérable ou qu'un flux échoue.
LakeFlow Pipelines uniquement
-
continuousType :
booleanUn indicateur spécifiant s'il faut exécuter le pipeline en continu.
La valeur par default est
false.LakeFlow Pipelines uniquement
-
catalogType :
stringLe nom du catalogue default pour le pipeline, où tous les datasets et métadonnées du pipeline sont publiés. La définition de cette valeur active Unity Catalog pour le pipeline.
Si non défini, le pipeline publie sur le Hive metastore hérité en utilisant l'emplacement spécifié dans
storage.En mode de publication hérité, spécifie le catalogue contenant le schéma cible où tous les datasets du pipeline actuel sont publiés. Voir le schéma LIVE (hérité).
Disponible en SDP en tant que
catalog -
schemaType :
stringLe nom du schéma par default pour le pipeline, où tous les datasets et les métadonnées du pipeline sont publiés par default. Voir Définir le catalogue et le schéma cibles.
Disponible dans le SDP en tant que
database, qui accepte également l'aliasschema -
target(ancien)Type :
stringLe nom du schéma par default pour le pipeline, où tous les datasets et les métadonnées du pipeline sont publiés par default. L'utilisation de
schemaau lieu detargetest préférable.LakeFlow Pipelines uniquement
-
storage(ancien)Type :
stringUn emplacement sur DBFS ou un stockage cloud où sont stockées les données de sortie et les métadonnées nécessaires à l'exécution du pipeline. Les tables et les métadonnées sont stockées dans des sous-répertoires de cet emplacement.
Lorsque le paramètre
storagen'est pas spécifié, le système default à un emplacement dansdbfs:/pipelines/.Le paramètre
storagene peut pas être modifié après la création d'un pipeline.Disponible dans SDP en tant que champ
storageobligatoire. Dans les Lakeflow pipelines,storageest un paramètre hérité. -
channelType :
stringLa version du runtime de pipeline à utiliser. Les valeurs prises en charge sont :
previewpour tester votre pipeline avec les modifications à venir de la version du runtime.currentpour utiliser la version actuelle de l'environnement d'exécution.
Le champ
channelest facultatif. La valeur par default estcurrent. Databricks recommande d'utiliser la version actuelle de l'environnement d'exécution pour les charges de travail de production.LakeFlow Pipelines uniquement
-
editionType
stringL'édition du produit pour exécuter le pipeline. Ce paramètre vous permet de choisir la meilleure édition de produit en fonction des exigences de votre pipeline :
COREpour exécuter des charges de travail d'ingestion en streaming.PROpour exécuter des charges de travail de streaming ingest et de change data capture (CDC).ADVANCEDpour exécuter des charges de travail d'ingestion en streaming, des charges de travail CDC et des charges de travail nécessitant des attentes pour faire respecter les contraintes de qualité des données.
Le champ
editionest facultatif. La valeur par default estADVANCED.LakeFlow Pipelines uniquement
-
photonType :
booleanUn indicateur spécifiant s'il faut utiliser Qu'est-ce que Photon ? pour exécuter le pipeline. Photon est le moteur Spark haute performance de Databricks. Les pipelines compatibles Photon sont facturés à un taux différent des pipelines non-Photon.
Le champ
photonest facultatif. La valeur par default estfalse.LakeFlow Pipelines uniquement
-
serverlessType :
booleanUn indicateur indiquant si le pipeline utilise le compute serverless. Voir configurer un pipeline serverless.
LakeFlow Pipelines uniquement
-
event_logType :
objectConfiguration de la destination du journal des événements du pipeline, en tant qu'objet avec les champs
name,catalogetschemaqui publient le journal des événements vers une table Unity Catalog. Voir Pipeline event log.LakeFlow Pipelines uniquement
-
tagsType :
objectUne map facultative de tags définis par l'utilisateur pour le pipeline. Un maximum de 25 balises peut être ajouté.
LakeFlow Pipelines uniquement
-
budget_policy_idType :
stringL'ID de la politique de budget Serverless à appliquer à ce pipeline, utilisée pour attribuer l'utilisation Serverless pour le suivi des coûts. Ce champ apparaît dans la configuration JSON ou YAML uniquement lorsque vous définissez explicitement une politique. S'il n'est pas défini, Databricks résout automatiquement une politique default. La politique résolue est affichée dans l'interface utilisateur des paramètres du pipeline, mais elle n'est pas écrite dans la configuration JSON ou YAML.
LakeFlow Pipelines uniquement
-
root_pathType :
stringLe chemin racine du pipeline. Lorsqu'il est défini, ce répertoire est ajouté à
sys.pathlors de l'exécution de fichiers source Python, afin que les modules puissent être importés par rapport à celui-ci.LakeFlow Pipelines uniquement
-
environmentType :
objectUne spécification d'environnement utilisée pour installer les dépendances Python pour le pipeline.
LakeFlow Pipelines uniquement
-
pipelines.maxFlowRetryAttemptsType :
intSi un échec récupérable se produit lors d'une mise à jour de pipeline, il s'agit du nombre maximal de tentatives de reprise d'un flux avant l'échec de la mise à jour du pipeline.
Utilisez ceci pour limiter les nouvelles tentatives sur un seul flux sujet à des échecs relançables, afin qu'il ne puisse pas bloquer une mise à jour entière.
Default: Deux tentatives de relance. Lorsqu'un échec récupérable se produit, le runtime de pipeline tente d'exécuter le flux trois fois, y compris la tentative d'origine.
LakeFlow Pipelines uniquement
-
pipelines.numUpdateRetryAttemptsType :
intS'il se produit une défaillance récupérable pendant une mise à jour, c'est le nombre maximal de fois où la mise à jour sera tentée avant d'échouer définitivement. La nouvelle tentative est exécutée comme une mise à jour complète.
Utilisez ceci pour limiter les nouvelles tentatives sur une mise à jour entière, afin qu'une mise à jour bloquée échoue définitivement plutôt que de tenter indéfiniment de nouveau.
Ce parameter s’applique uniquement aux pipelines utilisant le comportement de nouvelle tentative et de redémarrage automatiques. Les nouvelles tentatives ne sont pas effectuées pour les mises à jour ad hoc exécutées depuis l’éditeur ou lorsque vous exécutez une mise à jour
Validate.default:
- Cinq pour les pipelines déclenchés.
- Illimité pour les pipelines continus.
LakeFlow Pipelines uniquement
Propriétés de la table de pipeline
En plus des propriétés de table prises en charge par Delta Lake, vous pouvez définir les propriétés de table suivantes.
-
pipelines.autoOptimize.zOrderColsdefault: Aucun
Une chaîne facultative contenant une liste de noms de colonnes séparés par des virgules pour classer cette table par Z-order. Par exemple,
pipelines.autoOptimize.zOrderCols = "year,month"Databricks recommande le clustering liquide au lieu du Z-ordering pour optimiser le layout des données dans les tables de pipeline. Pour permettre à Databricks de sélectionner et de maintenir automatiquement les colonnes de clustering, utilisez
CLUSTER BY AUTO(cluster_by_auto=Trueen Python). Voir Utiliser le clustering liquide pour les tables.LakeFlow Pipelines uniquement
-
pipelines.reset.alloweddefault:
trueContrôle si un refresh complet est autorisé pour cette table.
Disponible en SDP en tant que
pipelines.reset.allowed -
pipelines.autoOptimize.manageddefault:
trueActive ou désactive l'optimisation planifiée automatiquement de cette table.
Pour les pipelines gérés par l'optimisation prédictive, cette propriété n'est pas utilisée.
LakeFlow Pipelines uniquement
Pipelines trigger interval
Vous pouvez spécifier un intervalle de Trigger de pipeline pour l'ensemble du pipeline ou dans le cadre d'une déclaration de dataset. Consultez Définir l'intervalle du Trigger pour les pipelines continus.
-
pipelines.trigger.intervalLe default est basé sur le type de flux :
- Cinq secondes pour les queries en streaming.
- Une minute pour les queries complètes lorsque toutes les données d'entrée proviennent de sources Delta.
- Dix minutes pour les queries complètes lorsque certaines sources de données peuvent être non-Delta.
La valeur est un nombre plus l'unité de temps. Voici les unités de temps valides :
second,secondsminute,minuteshour,hoursday,days
Vous pouvez utiliser l'unité singulière ou plurielle lors de la définition de la valeur, par exemple :
{"pipelines.trigger.interval" : "1 hour"}{"pipelines.trigger.interval" : "10 seconds"}{"pipelines.trigger.interval" : "30 second"}{"pipelines.trigger.interval" : "1 minute"}{"pipelines.trigger.interval" : "10 minutes"}{"pipelines.trigger.interval" : "10 minute"}
LakeFlow Pipelines uniquement
Attributs de cluster non configurables par l'utilisateur
Parce que les pipelines gèrent les cycles de vie des clusters, de nombreux paramètres de cluster sont définis par le système et ne peuvent pas être configurés manuellement par les utilisateurs, que ce soit dans une configuration de pipeline ou dans une stratégie de cluster utilisée par un pipeline. Le tableau suivant répertorie ces paramètres et pourquoi ils ne peuvent pas être définis manuellement.
Lakeflow pipelines uniquement. SDP ne gère pas le compute, donc ces attributs de cluster ne s'appliquent pas.
-
cluster_nameSDP définit les noms des clusters utilisés pour exécuter les mises à jour de pipeline. Ces noms ne peuvent pas être remplacés.
-
data_security_modeaccess_modeCes valeurs sont automatiquement définies par le système.
-
spark_versionLes clusters SDP s'exécutent sur une version personnalisée de Databricks Runtime qui est continuellement mise à jour pour inclure les dernières fonctionnalités. La version de Spark est fournie avec la version de Databricks Runtime et ne peut pas être remplacée.
-
autotermination_minutesÉtant donné que SDP gère la logique d'arrêt automatique et de réutilisation des clusters, le temps d'arrêt automatique du cluster ne peut pas être remplacé.
-
runtime_engineBien que vous puissiez contrôler ce champ en activant Photon pour votre pipeline, vous ne pouvez pas définir cette valeur directement.
-
effective_spark_versionCette valeur est définie automatiquement par le système.
-
cluster_sourceCe champ est défini par le système et est en lecture seule.
-
docker_imageÉtant donné que SDP gère le cycle de vie du cluster, vous ne pouvez pas utiliser de conteneur personnalisé avec les clusters de pipeline.
-
workload_typeCette valeur est définie par le système et ne peut pas être remplacée.
Options de source et de query
Certains comportements d'ingestion et de traitement des données sont configurés sur la source de données ou la query plutôt que comme des propriétés de pipeline. Celles-ci incluent l'évolution des schémas, les indications et l'inférence de schéma, les limites de taux d'ingestion et le filtrage de fichiers. Pour les configurer, utilisez les options pour read_files et Auto Loader. Pour l'évolution des schémas avec from_json, consultez Inférer et faire évoluer le schéma à l'aide de from_json dans les pipelines.