Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 :
|
maturity_level |
Stabilité du schéma d’événement. Les valeurs possibles sont les suivantes :
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 :
|
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 :
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 :
|
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 :
|
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 :
|
status |
L’état de l’opération. Un parmi :
|
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 dansstream_progress:numInputRows,inputRowsPerSecondetprocessedRowsPerSecond. - Pour les flux Kafka et Kineses, les champs
startOffset,endOffsetetlatestOffsetpeuvent être trop volumineux et sont tronqués. Pour chacun de ces champs, un champ supplémentaire...Truncated,startOffsetTruncated,endOffsetTruncatedetlatestOffsetTruncatedest 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 :
|
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 :
|
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 :
|
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 :
|
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 :
|