Aller au contenu principal

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

  • id

    Type : string

    Un 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

  • name

    Type : string

    Un 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

  • configuration

    Type : object

    Une 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

  • parameters

    Type : object

info

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

  • libraries

    Type : array of objects

    Un 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

  • clusters

    Type : array of objects

    Un 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

  • development

    Type : boolean

    Un indicateur spécifiant s'il faut exécuter le pipeline en mode development ou production.

    La valeur par default est false.

    LakeFlow Pipelines uniquement

  • notifications

    Type : array of objects

    Tableau 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

  • continuous

    Type : boolean

    Un indicateur spécifiant s'il faut exécuter le pipeline en continu.

    La valeur par default est false.

    LakeFlow Pipelines uniquement

  • catalog

    Type : string

    Le 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

  • schema

    Type : string

    Le 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'alias schema

  • target (ancien)

    Type : string

    Le 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 schema au lieu de target est préférable.

    LakeFlow Pipelines uniquement

  • storage (ancien)

    Type : string

    Un 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 storage n'est pas spécifié, le système default à un emplacement dans dbfs:/pipelines/.

    Le paramètre storage ne peut pas être modifié après la création d'un pipeline.

    Disponible dans SDP en tant que champ storage obligatoire. Dans les Lakeflow pipelines, storage est un paramètre hérité.

  • channel

    Type : string

    La version du runtime de pipeline à utiliser. Les valeurs prises en charge sont :

    • preview pour tester votre pipeline avec les modifications à venir de la version du runtime.
    • current pour utiliser la version actuelle de l'environnement d'exécution.

    Le champ channel est facultatif. La valeur par default est current. Databricks recommande d'utiliser la version actuelle de l'environnement d'exécution pour les charges de travail de production.

    LakeFlow Pipelines uniquement

  • edition

    Type string

    L'é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 :

    • CORE pour exécuter des charges de travail d'ingestion en streaming.
    • PRO pour exécuter des charges de travail de streaming ingest et de change data capture (CDC).
    • ADVANCED pour 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 edition est facultatif. La valeur par default est ADVANCED.

    LakeFlow Pipelines uniquement

  • photon

    Type : boolean

    Un 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 photon est facultatif. La valeur par default est false.

    LakeFlow Pipelines uniquement

  • serverless

    Type : boolean

    Un indicateur indiquant si le pipeline utilise le compute serverless. Voir configurer un pipeline serverless.

    LakeFlow Pipelines uniquement

  • event_log

    Type : object

    Configuration de la destination du journal des événements du pipeline, en tant qu'objet avec les champs name, catalog et schema qui publient le journal des événements vers une table Unity Catalog. Voir Pipeline event log.

    LakeFlow Pipelines uniquement

  • tags

    Type : object

    Une 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_id

    Type : string

    L'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_path

    Type : string

    Le chemin racine du pipeline. Lorsqu'il est défini, ce répertoire est ajouté à sys.path lors de l'exécution de fichiers source Python, afin que les modules puissent être importés par rapport à celui-ci.

    LakeFlow Pipelines uniquement

  • environment

    Type : object

    Une spécification d'environnement utilisée pour installer les dépendances Python pour le pipeline.

    LakeFlow Pipelines uniquement

  • pipelines.maxFlowRetryAttempts

    Type : int

    Si 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.numUpdateRetryAttempts

    Type : int

    S'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.zOrderCols

    default: 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=True en Python). Voir Utiliser le clustering liquide pour les tables.

    LakeFlow Pipelines uniquement

  • pipelines.reset.allowed

    default: true

    Contrôle si un refresh complet est autorisé pour cette table.

    Disponible en SDP en tant que pipelines.reset.allowed

  • pipelines.autoOptimize.managed

    default: true

    Active 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.interval

    Le 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, seconds
    • minute, minutes
    • hour, hours
    • day, 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_name

    SDP 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_mode

    access_mode

    Ces valeurs sont automatiquement définies par le système.

  • spark_version

    Les 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_engine

    Bien que vous puissiez contrôler ce champ en activant Photon pour votre pipeline, vous ne pouvez pas définir cette valeur directement.

  • effective_spark_version

    Cette valeur est définie automatiquement par le système.

  • cluster_source

    Ce 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_type

    Cette 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.