Partager via


Schéma du journal des événements de pipeline

Le journal des événements de pipeline contient toutes les informations relatives à un pipeline, notamment les journaux d’audit, les vérifications de qualité des données, la progression du pipeline et la traçabilité des données.

Les tableaux suivants décrivent le schéma du journal des événements. Certains de ces champs contiennent des données JSON qui nécessitent une analyse pour effectuer des requêtes, comme le champ details. Azure Databricks prend en charge l’opérateur : pour analyser les champs JSON. Consultez : opérateur (signe deux points).

Note

Certains champs du journal des événements sont destinés à une utilisation interne par Azure Databricks. La documentation suivante décrit les champs destinés à l'utilisation du client.

Pour plus d’informations sur l’utilisation du journal des événements de pipeline, consultez le journal des événements de pipeline.

Objet PipelineEvent

Représente un événement de pipeline unique dans le journal des événements.

Terrain Descriptif
id Identificateur unique de l’enregistrement de journal des événements.
sequence Chaîne JSON contenant des métadonnées pour identifier et commander des événements.
origin Chaîne JSON contenant des métadonnées pour l’origine de l’événement, par exemple, le fournisseur de cloud, la région du fournisseur de cloud, l’utilisateur et les informations de pipeline. Consultez Objet Origin.
timestamp Heure à laquelle l’événement a été enregistré, au format UTC.
message Message lisible décrivant l’événement.
level Niveau d’avertissement. Les valeurs possibles sont les suivantes :
  • INFO: événements d’information
  • WARN: problèmes inattendus, mais non critiques
  • ERROR: Échec d’événement qui peut nécessiter une attention de l’utilisateur
  • METRICS: utilisé pour les événements à volume élevé stockés uniquement dans la table Delta et non affichés dans l’interface utilisateur des pipelines.
maturity_level Stabilité du schéma d’événement. Les valeurs possibles sont les suivantes :
  • STABLE: le schéma est stable et ne change pas.
  • NULL: le schéma est stable et ne change pas. La valeur peut être NULL si l’enregistrement a été créé avant l’ajout du maturity_level champ (version 2022.37).
  • EVOLVING: le schéma n’est pas stable et peut changer.
  • DEPRECATED: Le schéma est déconseillé et le runtime des pipelines déclaratifs de Lakeflow Spark peut cesser de produire cet événement à tout moment.

Il n'est pas recommandé de créer une surveillance ou des alertes basées sur les champs EVOLVING ou DEPRECATED.
error Détails décrivant l’erreur qui est survenue, le cas échéant.
details Chaîne JSON contenant des détails structurés de l’événement. Il s’agit du champ principal utilisé pour l’analyse des événements. Le format de chaîne JSON dépend du event_type. Pour plus d’informations, consultez l’objet détails.
event_type Type d’événement. Pour obtenir la liste des types d’événements et le type d’objet détails qu’ils créent, consultez l’objet Details.

L'objet des détails

Chaque événement a des propriétés différentes details dans l’objet JSON, en fonction event_type de l’événement. Ce tableau répertorie les event_typeéléments et les éléments associés details. Les details propriétés sont décrites dans la section Types De détails .

Type de détails par event_type Descriptif
create_update Capture la configuration complète utilisée pour démarrer une mise à jour de pipeline. Inclut toute configuration définie par Databricks. Pour plus d’informations, consultez Détails pour create_update.
user_action Fournit des détails sur toute action utilisateur sur le pipeline (y compris la création d’un pipeline, ainsi que le démarrage ou l’annulation d’une mise à jour). Pour plus d’informations, consultez Détails de l’événement user_action.
flow_progress Décrit le cycle de vie d’un flux depuis le démarrage, l’exécution, la fin ou l’échec. Pour plus d’informations, consultez Détails de l’événement flow_progress.
update_progress Décrit le cycle de vie d’une mise à jour de pipeline, du démarrage à l'exécution, jusqu'à la fin ou l’échec. Pour plus d’informations, consultez Détails de l’événement update_progress.
flow_definition Définit le schéma et le plan de requête pour toutes les transformations qui se produisent dans un flux donné. Peut être considéré comme les bords du DAG du flux de données. Il peut être utilisé pour calculer la traçabilité de chaque flux, ainsi que pour voir le plan de requête expliqué. Pour plus d’informations, consultez Détails de l’événement flow_definition.
dataset_definition Définit un jeu de données, qui est la source ou la destination d’un flux donné. Pour plus d’informations, consultez Détails de l’événement dataset_definition.
sink_definition Définit un récepteur donné. Pour plus d’informations, consultez Détails de l’événement sink_definition.
deprecation Répertorie les fonctionnalités que ce pipeline utilise et qui seront bientôt dépréciées ou le sont actuellement. Pour voir des exemples de valeurs, consultez Énumération des détails pour l’événement de dépréciation.
cluster_resources Inclut des informations sur les ressources de cluster pour les pipelines qui tournent sur l'informatique classique. Ces métriques sont remplies uniquement pour les pipelines de calcul classiques. Pour plus d’informations, consultez Détails de l’événement cluster_resources.
autoscale Inclut des informations sur la mise à l’échelle automatique pour les pipelines qui s’exécutent sur le calcul classique. Ces métriques sont remplies uniquement pour les pipelines de calcul classiques. Pour plus d’informations, consultez Détails de l’événement de mise à l’échelle automatique.
planning_information Représente les informations de planification relatives à l’affichage matérialisé incrémentiel et à l’actualisation complète. Peut être utilisé pour obtenir plus de détails sur la raison pour laquelle une vue matérialisée est entièrement recomputée. Pour plus d’informations, consultez Détails de l’événement planning_information.
hook_progress Événement indiquant l’état actuel d’un hook utilisateur pendant l’exécution du pipeline. Utilisé pour surveiller l’état des hooks d’événements, par exemple, pour envoyer à des produits d’observabilité externes. Pour plus d’informations, consultez Détails de l’événement hook_progress.
operation_progress Inclut des informations sur la progression d’une opération. Pour plus d’informations, consultez Détails de l’événement operation_progress.
stream_progress Inclut des informations sur la progression d’un pipeline. Pour plus d’informations, consultez Détails de l’événement stream_progress.

Types de détails

Les objets suivants représentent le details type d’événement différent dans l’objet PipelineEvent .

Détails de create_update

Détails de l’événement create_update .

Terrain Descriptif
dbr_version Version du Databricks Runtime.
run_as L'identifiant de l'utilisateur pour lequel la mise à jour s'exécutera au nom de. En règle générale, il s’agit du propriétaire du pipeline ou d’un principal de service.
cause Raison de la mise à jour. En règle générale, JOB_TASK s’il s’exécute à partir d’un travail, ou USER_ACTION lorsqu’il s’exécute de manière interactive par un utilisateur.

Détails de l’événement user_action

Détails de l’événement user_action . Inclut les champs suivants :

Terrain Descriptif
user_name Nom de l’utilisateur qui a déclenché une mise à jour de pipeline.
user_id ID de l’utilisateur qui a déclenché une mise à jour de pipeline. Ce n’est pas toujours le même que l’utilisateur run_as , qui peut être un principal de service ou un autre utilisateur.
action Action effectuée par l’utilisateur, y compris START et CREATE.

Détails de l’événement flow_progress

Détails d’un flow_progress événement.

Terrain Descriptif
status Nouvel état du flux. Peut prendre les valeurs suivantes :
  • QUEUED
  • STARTING
  • RUNNING
  • COMPLETED
  • FAILED
  • SKIPPED
  • STOPPED
  • IDLE
  • EXCLUDED
metrics Métriques sur le flux. Pour plus d’informations, consultez FlowMetrics.
data_quality Métriques de qualité des données concernant le flux et les attentes associées. Pour plus d’informations, consultez DataQualityMetrics.

Détails de l’événement update_progress

Détails de l’événement update_progress.

Terrain Descriptif
state Nouvel état de la mise à jour. Peut prendre les valeurs suivantes :
  • QUEUED
  • CREATED
  • WAITING_FOR_RESOURCES
  • INITIALIZING
  • RESETTING
  • SETTING_UP_TABLES
  • RUNNING
  • STOPPING
  • COMPLETED
  • FAILED
  • CANCELED

Utile pour calculer la durée de différentes phases d’une mise à jour de pipeline de la durée totale jusqu’au temps passé en attente de ressources, par exemple.
cancellation_cause Raison pour laquelle une mise à jour est entrée dans l’état CANCELED . Inclut des raisons telles que USER_ACTION ou WORKFLOW_CANCELLATION (le flux de travail qui a déclenché la mise à jour a été annulée).

Détails de l’événement flow_definition

Détails d’un flow_definition événement.

Terrain Descriptif
input_datasets Entrées lues par ce flux.
output_dataset Le jeu de données de sortie vers lequel ce flux écrit.
output_sink Le récepteur de sortie vers lequel ce flux écrit.
explain_text Plan de requête expliqué.
schema_json Chaîne de schéma JSON Spark SQL.
schema Schéma de ce flux.
flow_type Type de flux. Peut prendre les valeurs suivantes :
  • COMPLETE : la table de diffusion en continu écrit vers sa destination en mode Complete (diffusion en continu).
  • CHANGE : table de diffusion en continu utilisant APPLY_CHANGES_INTO.
  • SNAPSHOT_CHANGE : table de diffusion en continu utilisant APPLY CHANGES INTO ... FROM SNAPSHOT ....
  • APPEND : la table de diffusion en continu écrit vers sa destination en mode Append (diffusion en continu).
  • MATERIALIZED_VIEW : sorties vers une vue matérialisée.
  • VIEW : sorties vers une vue.
comment Commentaire ou description de l’utilisateur sur le jeu de données.
spark_conf Configurations Spark définies sur ce flux.
language Langage utilisé pour créer ce flux. Peut être SCALA, PYTHON ou SQL.
once Indique si ce flux a été déclaré pour s'exécuter une seule fois.

Détails de l’événement dataset_definition

Détails d’un dataset_definition événement. Inclut les champs suivants :

Terrain Descriptif
dataset_type Fait la distinction entre les vues matérialisées et les tables de diffusion en continu.
num_flows Nombre de flux écrivant dans le jeu de données.
expectations Attentes associées au jeu de données.

Détails de l’événement sink_definition

Détails d’un sink_definition événement.

Terrain Descriptif
format Format du récepteur.
options Options clé-valeur associées au récepteur.

Énumération des détails pour l’événement de dépréciation

L’événement deprecation a un message champ. Les valeurs possibles pour le message sont les suivantes. Il s’agit d’une liste partielle qui augmente au fil du temps.

Terrain Descriptif
TABLE_MANAGED_BY_MULTIPLE_PIPELINES Une table est managée par plusieurs pipelines.
INVALID_CLUSTER_LABELS Utilisation d’étiquettes de cluster qui ne sont pas prises en charge.
PINNED_DBR_VERSION L'utilisation de dbr_version au lieu de channel dans les paramètres de pipeline.
PREVIOUS_CHANNEL_USED Utilisation du canal de diffusion PREVIOUS, qui peut être supprimé dans une prochaine version.
LONG_DATASET_NAME Utilisation d’un nom de jeu de données plus long que la longueur prise en charge.
LONG_SINK_NAME Utilisation d’un nom de puits dépassant la longueur maximale prise en charge.
LONG_FLOW_NAME Utilisation d’un nom de flux plus long que la longueur prise en charge.
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE La stratégie de cluster est conforme uniquement lorsque la mise à l’échelle automatique améliorée utilise une taille de cluster fixe.
DATA_SAMPLE_CONFIGURATION_KEY L’utilisation de la clé de configuration pour configurer l’échantillonnage des données est déconseillée.
INCOMPATIBLE_CLUSTER_SETTINGS Les paramètres de cluster actuels ou la stratégie de cluster ne sont plus compatibles avec les pipelines déclaratifs Spark Lakeflow.
STREAMING_READER_OPTIONS_DROPPED Utilisation des options de lecteur de streaming supprimées.
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG La définition de configurations Spark statiques via la configuration de pipeline pour les pipelines serverless n’est pas autorisée.
INVALID_SERVERLESS_PIPELINE_CONFIG Le client serverless fournit une configuration de pipeline non valide.
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE Spécification de chemins de table explicites inutilisés sur des tables managées UC.
FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE La fonction foreachBatch fournie n’est pas sérialisable.
DROP_PARTITION_COLS_NO_PARTITIONING La suppression de l’attribut partition_cols n’entraîne aucun partitionnement.
PYTHON_CREATE_TABLE Utilisation @dlt.create\_table au lieu de @dp.table ou @dp.materialized\_view.
PYTHON_CREATE_VIEW Utilisation @dlt.create\_view au lieu de @dp.temporary\_view.
PYTHON_CREATE_STREAMING_LIVE_TABLE Utilisation create_streaming_live_table au lieu de create_streaming_table.
PYTHON_CREATE_TARGET_TABLE Utilisation create_target_table au lieu de create_streaming_table.
FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE L'ensemble de tables managées par pipeline a un cycle dans l’ensemble de contraintes de clé étrangère.
PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE Référence de table partiellement qualifiée qui a des significations différentes en mode de publication par défaut et en mode de publication hérité.

Détails de l’événement cluster_resources

Détails d’un cluster_resources événement. Applicable uniquement aux pipelines s’exécutant sur l'infrastructure de calcul classique.

Terrain Descriptif
task_slot_metrics Métriques de l’emplacement de tâche du cluster. Pour plus d’informations, consultez l’objet TaskSlotMetrics
autoscale_info État des programmes de mise à l’échelle automatique. Pour plus d’informations, consultez l’objet AutoscaleInfo

Détails de l’événement de mise à l’échelle automatique

Détails de l’événement autoscale. Les événements de mise à l’échelle automatique s’appliquent uniquement lorsque le pipeline utilise le calcul classique.

Terrain Descriptif
status État de cet événement. Peut prendre les valeurs suivantes :
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Le nombre optimal d'exécuteurs suggéré par l'algorithme avant d'appliquer min_workers et max_workers bornes.
requested_num_executors Nombre d’exécuteurs après avoir tronqué le nombre optimal d’exécuteurs suggérés par l’algorithme aux bornes min_workers et max_workers.

Détails de l’événement planning_information

Détails d’un planning_information événement. Utile pour afficher les détails liés au type d’actualisation choisi pour un flux donné lors d’une mise à jour. Peut être utilisé pour aider à déboguer la raison pour laquelle une mise à jour est entièrement actualisée au lieu d’être actualisée de manière incrémentielle. Pour plus d’informations sur les actualisations incrémentielles, consultez Actualisation incrémentielle pour les vues matérialisées

Terrain Descriptif
technique_information Informations relatives à l’actualisation. Il comprend à la fois des informations sur la méthodologie d’actualisation choisie et les méthodologies d’actualisation possibles qui ont été prises en compte. Utile pour déboguer pourquoi une vue matérialisée n'a pas pu être mise à jour de manière incrémentielle. Pour plus d’informations, consultez TechniqueInformation.
source_table_information Informations sur la table source. Peut être utile pour déterminer pourquoi une vue matérialisée n’a pas réussi à s'incrémenter. Pour plus d’informations, consultez l’objet TableInformation.
target_table_information Informations sur la table cible. Pour plus d’informations, consultez l’objet TableInformation.

Détails de l’événement hook_progress

Détails d’un événement hook_progress. Inclut les champs suivants :

Terrain Descriptif
name Nom du hook utilisateur.
status État du hook utilisateur.

Détails de l’événement operation_progress

Détails d’un événement operation_progress. Inclut les champs suivants :

Terrain Descriptif
type Type d’opération en cours de suivi. Un parmi :
  • AUTO_LOADER_LISTING
  • AUTO_LOADER_BACKFILL
  • CONNECTOR_FETCH
  • CDC_SNAPSHOT
status L’état de l’opération. Un parmi :
  • STARTED
  • COMPLETED
  • CANCELED
  • FAILED
  • IN_PROGRESS
duration_ms Temps écoulé total de l’opération en millisecondes. Inclus uniquement dans l’événement de fin (où l’état est COMPLETED, CANCELEDou FAILED).

Détails de l’événement stream_progress

Détails d’un événement stream_progress. Inclut le champ suivant :

Terrain Descriptif
stream_progress Détails du flux de pipeline. Similaire aux StreamingQueryListener métriques pour Structured Streaming.
Les différences sont décrites dans les paragraphes suivants. Pour obtenir une documentation complète sur StreamingQueryListener les métriques, consultez les métriques de l’objet StreamingQueryListener.

Différences entre les métriques de l’objet stream_progress et de l’objet StreamingQueryListener :

  • Les métriques suivantes sont présentes dans StreamingQueryListener, mais pas dans stream_progress: numInputRows, inputRowsPerSecondet processedRowsPerSecond.
  • Pour les flux Kafka et Kineses, les champs startOffset, endOffset et latestOffset peuvent être trop volumineux et sont tronqués. Pour chacun de ces champs, un champ supplémentaire ...Truncated, startOffsetTruncated, endOffsetTruncated et latestOffsetTruncated est ajouté avec une valeur booléenne pour déterminer si les données sont tronquées.

Autres objets

Les objets suivants représentent des données ou des énumérations supplémentaires dans les objets d’événement.

Objet AutoscaleInfo

Métriques de mise à l’échelle automatique pour un cluster. Applicable uniquement aux pipelines s’exécutant sur l'infrastructure de calcul classique.

Terrain Descriptif
state État de la mise à l’échelle automatique. Peut prendre les valeurs suivantes :
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Nombre optimal d’exécuteurs. Il s’agit de la taille optimale suggérée par l’algorithme avant d’être tronquée par le nombre minimal/maximal d’exécuteurs spécifié par l’utilisateur.
latest_requested_num_executors Nombre d’exécuteurs demandés auprès du gestionnaire de cluster par le gestionnaire d’état dans la dernière requête. Il s’agit du nombre d’exécuteurs auquel le gestionnaire d’état tente de s’adapter. Il est mis à jour lorsque le gestionnaire d’état tente de quitter l’état de mise à l’échelle en cas d’expiration du délai. Ce champ n’est pas renseigné s’il n’y a pas de demande en attente.
request_pending_seconds Durée pendant laquelle la demande de mise à l’échelle a été en attente. Cela n’est pas rempli s’il n’y a pas de demande en attente.

Objet CostModelRejectionSubType

Énumération des raisons pour lesquelles l’incrémentisation est rejetée, en fonction du coût de l’actualisation complète et de l’actualisation incrémentielle dans un planning_information événement.

Valeur Descriptif
NUM_JOINS_THRESHOLD_EXCEEDED Actualisez complètement, car la requête contient trop de jointures.
CHANGESET_SIZE_THRESHOLD_EXCEEDED Actualisez complètement, car trop de lignes dans les tables de base ont changé.
TABLE_SIZE_THRESHOLD_EXCEEDED Actualisez complètement, car la taille de la table de base a dépassé le seuil.
EXCESSIVE_OPERATOR_NESTING Rafraîchissez complètement, car la définition de la requête est complexe et comporte de multiples niveaux d’imbrication des opérateurs.
COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED Actualisez entièrement pour toute autre raison.

Objet DataQualityMetrics

Métriques sur la mesure dans laquelle les attentes sont satisfaites au sein du processus. Utilisé dans les détails d’un flow_progress événement.

Terrain Descriptif
dropped_records Nombre d’enregistrements qui ont été supprimés parce qu’ils ont échoué une ou plusieurs attentes.
expectations Métriques pour les attentes ajoutées à n’importe quel jeu de données dans le plan de requête du flux. Lorsqu’il existe plusieurs attentes, cela peut être utilisé pour suivre les attentes qui ont été satisfaites ou échouées. Pour plus d’informations, consultez l’objet ExpectMetrics.

Objet ExpectationMetrics

Métriques relatives aux attentes, pour une attente spécifique.

Terrain Descriptif
name Nom de l’attente.
dataset Nom du jeu de données auquel l’attente a été ajoutée.
passed_records Le nombre d'enregistrements qui satisfont l'exigence.
failed_records Nombre d’enregistrements qui ne répondent pas aux attentes. Suit la satisfaction quant à l’attente, mais ne décrit pas ce qui arrive aux enregistrements (avertir, échouer ou supprimer les enregistrements).

Objet FlowMetrics

Métriques relatives au flux, y compris le total du flux, et décomposées par source spécifique. Utilisé dans les détails d’un flow_progress événement.

Chaque source de streaming prend uniquement en charge des métriques de flux spécifiques. Le tableau suivant présente les métriques disponibles pour les sources de diffusion en continu prises en charge :

Source octets de backlog enregistrements de backlog secondes de backlog fichiers en retard
Kafka
Kinesis
Delta
Chargeur automatique
Google Pub/Sub
Terrain Descriptif
num_output_rows Nombre de lignes de sortie écrites par une mise à jour de ce flux.
backlog_bytes Backlog total sous forme d’octets sur toutes les sources d’entrée du flux.
backlog_records Nombre total de records de backlog sur toutes les sources d’entrée du flux.
backlog_files Nombre total de fichiers de backlog sur toutes les sources d’entrée du flux.
backlog_seconds Nombre maximal de secondes de backlog sur toutes les sources d’entrée du flux.
executor_time_ms Somme de toutes les durées d’exécution des tâches en millisecondes de ce flux au cours de la période de rapport.
executor_cpu_time_ms Somme des temps d'exécution CPU de toutes les tâches de ce flux en millisecondes durant la période de rapport.
num_upserted_rows Nombre de lignes de sortie mises à jour dans le jeu de données par une mise à jour de ce flux.
num_deleted_rows Nombre de lignes de sortie existantes supprimées du jeu de données par une mise à jour de ce flux.
num_output_bytes Nombre d’octets de sortie écrits par une mise à jour de ce flux.
source_metrics Métriques pour chaque source d’entrée dans le flux. Utile pour surveiller la progression de l’ingestion à partir de sources en dehors des pipelines déclaratifs Spark Lakeflow (comme Apache Kafka, Pulsar ou Auto Loader). Les champs inclus sont :
  • source_name: nom de la source.
  • backlog_bytes : backlog en tant qu’octets pour cette source.
  • backlog_records : enregistrements de backlog pour cette source.
  • backlog_files : fichiers de backlog pour cette source.
  • backlog_seconds : secondes de backlog pour cette source.

Objet IncrementalizationIssue

Représente des problèmes liés à l’incrémentisation qui peut entraîner une actualisation complète lors de la planification d’une mise à jour.

Terrain Descriptif
issue_type Type de problème qui pourrait empêcher la vue matérialisée de se mettre à jour de manière incrémentielle. Pour plus d’informations, consultez Type de problème.
prevent_incrementalization Indique si ce problème a empêché l’incrémentisation de se produire.
table_information Informations de table associées à des problèmes tels que CDF_UNAVAILABLE, INPUT_NOT_IN_DELTADATA_FILE_MISSING.
operator_name Informations relatives au plan. Définir pour les problèmes lorsque le type de problème est soit PLAN_NOT_DETERMINISTIC soit PLAN_NOT_INCREMENTALIZABLE, en fonction de l'opérateur ou de l'expression qui provoque l'impossibilité de déterminisme ou d'incrémentation.
expression_name Nom de l’expression.
join_type Informations auxiliaires lorsque l'opérateur est un join. Par exemple, JOIN_TYPE_LEFT_OUTER ou JOIN_TYPE_INNER.
plan_not_incrementalizable_sub_type Catégorie détaillée lorsque le type de problème est PLAN_NOT_INCREMENTALIZABLE. Pour plus d’informations, consultez l’objet PlanNotIncrementalizableSubType.
plan_not_deterministic_sub_type Catégorie détaillée lorsque le type de problème est PLAN_NOT_DETERMINISTIC. Pour plus d’informations, consultez l’objet PlanNotDeterministicSubType.
fingerprint_diff_before Différences par rapport à l’empreinte digitale avant.
fingerprint_diff_current Différences par rapport à l’empreinte digitale actuelle.
cost_model_rejection_subtype Catégorie détaillée lorsque le type de problème est INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL. Pour plus d’informations, consultez l’objet CostModelRejectionSubType.

Objet IssueType

Énumération des types de problèmes susceptibles d’entraîner une actualisation complète.

Valeur Descriptif
CDF_UNAVAILABLE Le CDF (flux de données modifiées) n’est pas activé sur certaines tables de base. Le table_information champ fournit des informations sur la table sur laquelle CDF n’est pas activé. Utilisez ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true) pour activer le CDF pour la table de base. Si la table source est une vue matérialisée, la valeur CDF doit être définie ON par défaut.
DELTA_PROTOCOL_CHANGED Actualisez entièrement, car certaines tables de base (détails dans le table_information champ) avaient un changement de protocole Delta.
DATA_SCHEMA_CHANGED Actualisez entièrement, car certaines tables de base (détails dans le table_information champ) avaient un changement de schéma de données dans les colonnes utilisées par la définition de vue matérialisée. Non pertinent si une colonne qui n'est pas utilisée par la vue matérialisée a été modifiée ou ajoutée à la table de base.
PARTITION_SCHEMA_CHANGED Actualisez complètement, car certaines tables de base (détails dans le champ table_information) ont eu un changement de schéma de partition.
INPUT_NOT_IN_DELTA Actualisez entièrement, car la définition de vue matérialisée implique une entrée autre que Delta.
DATA_FILE_MISSING Actualisez entièrement, car certains fichiers de table de base sont déjà vides en raison de leur période de rétention.
PLAN_NOT_DETERMINISTIC Actualisez entièrement, car certains opérateurs ou expressions dans la définition de vue matérialisée ne sont pas déterministes. Les operator_name champs et expression_name fournissent des informations sur l’opérateur ou l’expression à l’origine du problème.
PLAN_NOT_INCREMENTALIZABLE Actualisez complètement, car certains opérateurs ou expressions dans la définition de vue matérialisée ne sont pas incrémentielles.
SERIALIZATION_VERSION_CHANGED Actualisez complètement, car il y avait un changement significatif dans la logique d’empreinte digitale de la requête.
QUERY_FINGERPRINT_CHANGED Actualisez entièrement, car la définition de la vue matérialisée a changé, ou les nouvelles versions des pipelines déclaratifs de Lakeflow Spark ont provoqué une modification dans les plans d'évaluation des requêtes.
CONFIGURATION_CHANGED Actualisez entièrement, car les configurations de clés (par exemple, spark.sql.ansi.enabled) susceptibles d’affecter l’évaluation des requêtes ont changé. La recompilation complète est nécessaire pour éviter les états incohérents dans la vue matérialisée.
CHANGE_SET_MISSING Actualisez entièrement, car il s’agit du premier calcul de la vue matérialisée. Ce comportement est attendu pour le calcul initial de la vue matérialisée.
EXPECTATIONS_NOT_SUPPORTED Actualisez entièrement, car la définition de vue matérialisée inclut des attentes, qui ne sont pas prises en charge pour les mises à jour incrémentielles. Supprimez les attentes ou gérez-les en dehors de la définition de la vue matérialisée si la prise en charge incrémentielle est nécessaire.
TOO_MANY_FILE_ACTIONS Actualisez complètement, car le nombre d’actions de fichier a dépassé le seuil de traitement incrémentiel. Considérez de réduire les fluctuations de fichiers dans les tables de base ou d’augmenter les seuils.
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL Actualisation complète, car le modèle de coût a déterminé qu’une actualisation complète est plus efficace que la maintenance incrémentielle. Passez en revue le comportement ou la complexité du modèle de coût du plan de requête pour autoriser les mises à jour incrémentielles.
ROW_TRACKING_NOT_ENABLED Actualisez complètement, car le suivi des lignes n’est pas activé sur une ou plusieurs tables de base. Activer le suivi des lignes à l'aide de ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true).
TOO_MANY_PARTITIONS_CHANGED Actualisez complètement, car trop de partitions ont changé dans les tables de base. Essayez de limiter le nombre de modifications de partition pour rester dans les limites de traitement incrémentiel.
MAP_TYPE_NOT_SUPPORTED Actualisez entièrement, car la définition de vue matérialisée inclut un type de carte, qui n’est pas pris en charge pour les mises à jour incrémentielles. Envisagez de restructurer les données pour éviter les types de carte dans une vue matérialisée.
TIME_ZONE_CHANGED Actualisez complètement, car le paramètre de fuseau horaire système ou de session a changé.
DATA_HAS_CHANGED Actualisez entièrement, car les données pertinentes pour la vue matérialisée ont changé de manière à empêcher les mises à jour incrémentielles. Évaluez les modifications et la structure des données de la définition de vue pour garantir la compatibilité avec la logique incrémentielle.
PRIOR_TIMESTAMP_MISSING Actualisez complètement, car il manque l’horodatage de la dernière exécution réussie. Cela peut se produire après une perte de métadonnées ou une intervention manuelle.

Objet de type MaintenanceType

Énumération des types de maintenance qui peuvent être choisis pendant un planning_information événement. Si le type n’est pas MAINTENANCE_TYPE_COMPLETE_RECOMPUTE ou MAINTENANCE_TYPE_NO_OP, le type est une actualisation incrémentielle.

Valeur Descriptif
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE Recompilation complète ; toujours affiché.
MAINTENANCE_TYPE_NO_OP Lorsque les tables de base ne changent pas.
MAINTENANCE_TYPE_PARTITION_OVERWRITE Actualisez de manière incrémentielle les partitions affectées lorsque la vue matérialisée est co-partitionnée avec l'une des tables sources.
MAINTENANCE_TYPE_ROW_BASED Actualisez de façon incrémentielle en créant des ensembles de modifications modulaires pour différentes opérations, telles que JOIN, FILTER et UNION ALL,, et en les composant pour calculer des requêtes complexes. Utilisé lorsque le suivi des lignes pour les tables sources est activé et qu’il existe un nombre limité de jointures pour la requête.
MAINTENANCE_TYPE_APPEND_ONLY Rafraîchissez de manière incrémentielle en calculant uniquement les nouvelles lignes, car il n'y avait pas d'insertions ou de mises à jour, ni d'effacements dans les tables sources.
MAINTENANCE_TYPE_GROUP_AGGREGATE Actualisez de façon incrémentielle en calculant les modifications pour chaque valeur d’agrégation. Utilisé lorsque les agrégats associatifs, tels que count, , summeanet stddev, sont au niveau supérieur de la requête.
MAINTENANCE_TYPE_GENERIC_AGGREGATE Actualisez de façon incrémentielle en calculant uniquement les groupes d’agrégats affectés. Utilisé lorsque les agrégats comme median (pas seulement associatifs) sont au niveau supérieur de la requête.
MAINTENANCE_TYPE_WINDOW_FUNCTION Actualisez de façon incrémentielle les requêtes avec des fonctions de fenêtre comme PARTITION BY en recomputant uniquement les partitions modifiées. Utilisé lorsque toutes les fonctions de fenêtre ont une clause PARTITION BY ou JOIN et sont au niveau le plus élevé de la requête.

Objet Origin

Où provient l’événement.

Terrain Descriptif
cloud Fournisseur de cloud. Les valeurs possibles sont les suivantes :
  • AWS
  • Azure
  • GCP
region La région cloud.
org_id ID d’organisation ou ID d’espace de travail de l’utilisateur. Unique dans un cloud. Utile pour identifier l’espace de travail ou pour joindre d’autres tables, telles que des tables de facturation système.
pipeline_id Identifiant du pipeline. Identificateur unique du pipeline. Utile pour identifier le pipeline ou pour joindre d’autres tables, telles que des tables de facturation système.
pipeline_type Type de pipeline indiquant où le pipeline a été créé. Les valeurs possibles sont les suivantes :
  • DBSQL: Un pipeline créé via Databricks SQL.
  • WORKSPACE: Un pipeline ETL créé via des pipelines déclaratifs Spark Lakeflow.
  • MANAGED_INGESTION : un pipeline d’ingestion géré Lakeflow Connect.
  • BRICKSTORE : pipeline permettant de mettre à jour une table en ligne pour le service de fonctionnalités en temps réel.
  • BRICKINDEX: Un pipeline pour mettre à jour une base de données vectorielle. Pour plus d’informations, consultez recherche vectorielle.
pipeline_name Nom du pipeline.
cluster_id ID du cluster où une exécution se produit. Globalement unique.
update_id ID d’une seule exécution du pipeline. Cela correspond à l'ID d'exécution.
table_name Nom de la table (Delta) vers laquelle on écrit.
dataset_name Nom complet d’un jeu de données.
sink_name Nom d’un puits.
flow_id ID du flux. Il suit l’état du flux utilisé sur plusieurs mises à jour. Tant que le flow_id reste identique, le flux est actualisé de manière incrémentielle. Le flow_id change lorsque la vue matérialisée effectue des actualisations complètes, que le point de contrôle est réinitialisé ou qu’un recalcul complet se produit dans la vue matérialisée.
flow_name Nom du flux.
batch_id ID d’un micro-lot. Unique dans un flux.
request_id ID de la requête qui a provoqué une mise à jour.

Objet PlanNotDeterministicSubType

Énumération de cas non déterministes pour un planning_information événement.

Valeur Descriptif
STREAMING_SOURCE Actualisez entièrement, car la définition de vue matérialisée inclut une source de diffusion en continu, qui n’est pas prise en charge.
USER_DEFINED_FUNCTION Actualisez entièrement, car la vue matérialisée inclut une fonction définie par l’utilisateur non prise en charge. Seuls les UDF Python déterministes sont pris en charge. D’autres UDF peuvent entraver les mises à jour incrémentielles.
TIME_FUNCTION Actualisez complètement, car la vue matérialisée inclut une fonction basée sur le temps, telle que CURRENT_DATE ou CURRENT_TIMESTAMP. La expression_name propriété fournit le nom de la fonction non prise en charge.
NON_DETERMINISTIC_EXPRESSION Actualisez entièrement, car la requête inclut une expression non déterministe telle que RANDOM(). La expression_name propriété indique la fonction non déterministe qui empêche la maintenance incrémentielle.

Objet PlanNotIncrementalizableSubType

Une énumération des raisons pour lesquelles un plan de mise à jour peut ne pas être incrémentiel.

Valeur Descriptif
OPERATOR_NOT_SUPPORTED Actualisez complètement, car le plan de requête inclut un opérateur non pris en charge. La operator_name propriété fournit le nom de l’opérateur non pris en charge.
AGGREGATE_NOT_TOP_NODE Actualisez complètement, car un opérateur d’agrégation (GROUP BY) n’est pas au niveau supérieur du plan de requête. La maintenance incrémentielle prend en charge les agrégats uniquement au niveau supérieur. Envisagez de définir deux vues matérialisées pour séparer l’agrégation.
AGGREGATE_WITH_DISTINCT Actualisez complètement, car l'agrégation inclut une clause DISTINCT, qui n'est pas prise en charge pour les mises à jour incrémentielles.
AGGREGATE_WITH_UNSUPPORTED_EXPRESSION Actualisez complètement, car l’agrégation inclut des expressions non prises en charge. La expression_name propriété indique l’expression problématique.
SUBQUERY_EXPRESSION Actualisez entièrement, car la définition de vue matérialisée inclut une expression de sous-requête, qui n’est pas prise en charge.
WINDOW_FUNCTION_NOT_TOP_LEVEL Actualisez complètement, car une fonction de fenêtre n'est pas au niveau supérieur du plan de requête.
WINDOW_FUNCTION_WITHOUT_PARTITION_BY Actualisez entièrement, car une fonction de fenêtre est définie sans PARTITION BY clause.

Objet TableInformation

Représente les détails d’une table considérée pendant un événement planning_information.

Terrain Descriptif
table_name Nom de table utilisé dans la requête à partir du metastore Unity Catalog ou Hive. Il se peut qu’il ne soit pas disponible en cas d’accès basé sur le chemin d’accès.
table_id Obligatoire. ID de table du journal Delta.
catalog_table_type Type de la table comme spécifié dans le catalogue.
partition_columns Partitionner les colonnes de la table.
table_change_type Modifiez le type dans la table. Valeurs possibles : TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY, TABLE_CHANGE_TYPE_GENERAL_CHANGE.
full_size Taille complète de la table en nombre d’octets.
change_size Taille des lignes modifiées dans les fichiers modifiés. Elle est calculée à l’aide de change_file_read_size * num_changed_rows / num_rows_in_changed_files.
num_changed_partitions Nombre de partitions modifiées.
is_size_after_pruning Indique si full_size et change_size représente les données après l’élagage de fichiers statiques.
is_row_id_enabled Indique si l’ID de ligne est activé sur la table.
is_cdf_enabled Indique si CDF est activé sur la table.
is_deletion_vector_enabled Indique si le vecteur de suppression est activé sur la table.
is_change_from_legacy_cdf Indique si la modification de la table provient d’un CDF hérité ou d’un CDF basé sur l’ID de ligne.

Objet TaskSlotMetrics

Métriques de créneau de tâche pour un cluster. S’applique uniquement aux mises à jour de pipeline exécutées sur le calcul classique.

Terrain Descriptif
summary_duration_ms Durée en millisecondes sur laquelle les métriques d’agrégation (par exemple) avg_num_task_slotssont calculées.
num_task_slots Nombre d’emplacements de tâches Spark à l’instant de rapport.
avg_num_task_slots Nombre moyen d’emplacements de tâches Spark sur la durée récapitulative.
avg_task_slot_utilization Utilisation moyenne de l’emplacement de tâche (nombre de tâches actives divisées par nombre d’emplacements de tâches) sur une durée récapitulative.
num_executors Nombre d’exécuteurs Spark au moment du rapport.
avg_num_queued_tasks Taille moyenne de la file d’attente des tâches (nombre total de tâches moins le nombre de tâches actives) sur la durée récapitulative.

Objet TechniqueInformation

Actualisez les informations de méthodologie pour un événement de planification.

Terrain Descriptif
maintenance_type Type de maintenance lié à cette information.
Si le type n’est pas MAINTENANCE_TYPE_COMPLETE_RECOMPUTE ou MAINTENANCE_TYPE_NO_OP, le flux est actualisé de façon incrémentielle.
Pour plus d’informations, consultez l’objet MaintenanceType.
is_chosen C'est vrai pour la technique choisie pour l'actualisation.
is_applicable Indique si le type de maintenance est applicable.
incrementalization_issues Problèmes d'incrémentalité susceptibles de nécessiter une actualisation complète. Pour plus d’informations, consultez l’objet IncrementalizationIssue.
change_set_information Information sur le jeu de modifications final produit. Les valeurs sont l’une des suivantes :
  • CHANGE_SET_TYPE_APPEND_ONLY
  • CHANGE_SET_TYPE_GENERAL_ROW_CHANGE