Freigeben über


Pipelineereignisprotokollschema

Das Pipelineereignisprotokoll enthält alle Informationen zu einer Pipeline, einschließlich Überwachungsprotokollen, Datenqualitätsprüfungen, Pipelinefortschritt und Datenlinie.

In den folgenden Tabellen wird das Ereignisprotokollschema beschrieben. Einige dieser Felder enthalten JSON-Daten, die geparst werden müssen, um einige Abfragen durchzuführen, wie z. B. das Feld details. Azure Databricks unterstützt den :-Operator zum Parsen von JSON-Feldern. Weitere Informationen zum :-Operator (Doppelpunkt).

Hinweis

Einige Felder im Ereignisprotokoll dienen der internen Verwendung durch Azure Databricks. In der folgenden Dokumentation werden die Felder beschrieben, die für den Kundenverbrauch bestimmt sind.

Ausführliche Informationen zur Verwendung des Pipelineereignisprotokolls finden Sie unter Pipeline-Ereignisprotokoll.

PipelineEvent-Objekt

Stellt ein einzelnes Pipelineereignis im Ereignisprotokoll dar.

Feld Description
id Ein eindeutiger Bezeichner für den Ereignisprotokolldatensatz.
sequence Eine JSON-Zeichenfolge, die Metadaten enthält, um Ereignisse zu identifizieren und zu ordnen.
origin Eine JSON-Zeichenfolge, die Metadaten für den Ursprung des Ereignisses enthält, z. B. der Cloudanbieter, die Cloudanbieterregion, benutzer und Pipelineinformationen. Siehe Origin-Objekt.
timestamp Die Uhrzeit, zu der das Ereignis aufgezeichnet wurde, in UTC.
message Dies ist eine Meldung für Benutzer*innen, die das Ereignis beschreibt.
level Die Warnstufe. Mögliche Werte sind:
  • INFO: Informationsereignisse
  • WARN: Unerwartete, aber nicht kritische Probleme
  • ERROR: Ereignisfehler, der möglicherweise die Aufmerksamkeit des Benutzers erfordert
  • METRICS: Wird nur für Ereignisse mit hohem Volumen verwendet, die nur in der Delta-Tabelle gespeichert sind und nicht in der Pipeline-Benutzeroberfläche angezeigt werden.
maturity_level Die Stabilität des Ereignisschemas. Mögliche Werte sind:
  • STABLE: Das Schema ist stabil und ändert sich nicht.
  • NULL: Das Schema ist stabil und ändert sich nicht. Der Wert kann sein NULL , wenn der Datensatz erstellt wurde, bevor das maturity_level Feld hinzugefügt wurde (Version 2022.37).
  • EVOLVING: Das Schema ist nicht stabil und kann sich ändern.
  • DEPRECATED: Das Schema ist veraltet, und die Runtime der Lakeflow Spark Declarative Pipelines kann die Erstellung dieses Ereignisses jederzeit beenden.

Es wird nicht empfohlen, überwachung oder Warnungen basierend auf EVOLVING oder DEPRECATED Feldern zu erstellen.
error Wenn ein Fehler aufgetreten ist, werden Details zur Beschreibung des Fehlers angezeigt.
details Eine JSON-Zeichenfolge mit strukturierten Details des Ereignisses. Dies ist das primäre Feld, das zum Analysieren von Ereignissen verwendet wird. Das JSON-Zeichenfolgenformat hängt vom event_type. Weitere Informationen finden Sie im Detailobjekt .
event_type Der Ereignistyp. Eine Liste der Ereignistypen und den objekttyp, den sie erstellen, finden Sie im Detailobjekt.

Das Objekt 'Details'

Jedes Ereignis hat unterschiedliche details Eigenschaften im JSON-Objekt, basierend auf dem event_type des Ereignisses. Diese Tabelle enthält die event_type und die zugeordneten details. Die details Eigenschaften werden im Abschnitt "Detailstypen " beschrieben.

Detailtyp nach event_type Description
create_update Erfasst die vollständige Konfiguration, die zum Starten eines Pipelineupdates verwendet wird. Enthält alle von Databricks festgelegten Konfigurationen. Ausführliche Informationen finden Sie unter Details zu create_update.
user_action Enthält Details zu jeder Benutzeraktion in der Pipeline (einschließlich der Erstellung einer Pipeline sowie zum Starten oder Abbrechen eines Updates). Ausführliche Informationen finden Sie unter Details zu user_action Ereignis.
flow_progress Beschreibt den Lebenszyklus eines Ablaufs ab Start, über Ausführung bis zum Abschluss oder Scheitern. Ausführliche Informationen finden Sie unter Details zu flow_progress Ereignis.
update_progress Beschreibt den Lebenszyklus eines Pipeline-Updates vom Starten und Ausführen bis zum erfolgreichen Abschluss oder einem Fehler. Ausführliche Informationen finden Sie unter Details zu update_progress Ereignis.
flow_definition Definiert das Schema und den Abfrageplan für alle Transformationen, die in einem bestimmten Fluss auftreten. Man kann sich die Kanten des Dataflow-DAGs vorstellen. Sie kann verwendet werden, um die Linien für jeden Fluss zu berechnen sowie den erläuterten Abfrageplan anzuzeigen. Ausführliche Informationen finden Sie unter Details zu flow_definition Ereignis.
dataset_definition Definiert ein Dataset, das entweder die Quelle oder das Ziel für einen bestimmten Fluss ist. Ausführliche Informationen finden Sie unter Details zu dataset_definition Ereignis.
sink_definition Definiert eine gegebene Senke. Ausführliche Informationen finden Sie unter Details zum sink_definition Ereignis.
deprecation Listet Funktionen auf, die in Kürze veraltet sein werden oder bereits veraltet sind und von dieser Pipeline verwendet werden. Beispiele für die Werte finden Sie unter Details zur Enumeration für das Veraltungsereignis.
cluster_resources Enthält Informationen zu Clusterressourcen für Pipelines, die auf der klassischen Berechnung ausgeführt werden. Diese Metriken werden nur für klassische Computepipelines generiert. Ausführliche Informationen finden Sie unter Details zu cluster_resources Ereignis.
autoscale Enthält Informationen zur automatischen Skalierung für Pipelines, die auf klassischen Rechenressourcen ausgeführt werden. Diese Metriken werden nur für klassische Computepipelines generiert. Ausführliche Informationen finden Sie unter Einzelheiten zum Autoscale-Ereignis.
planning_information Stellt Planungsinformationen bezogen auf die materialisierte Sicht dar: inkrementelle vs. vollständige Aktualisierung. Kann verwendet werden, um weitere Details darüber zu erhalten, warum eine materialisierte Ansicht vollständig neu komputiert wird. Weitere Informationen finden Sie unter Details zum planning_information Ereignis.
hook_progress Ein Ereignis, das den aktuellen Status eines Benutzerhooks während der Pipelineausführung angibt. Wird zum Überwachen des Status von Ereignishooks verwendet, z. B. zum Senden an externe Einblickprodukte. Ausführliche Informationen finden Sie unter Details zu hook_progress Ereignis.
operation_progress Enthält Informationen zum Fortschritt eines Vorgangs. Ausführliche Informationen finden Sie unter Details zu operation_progress Ereignis.
stream_progress Enthält Informationen zum Fortschritt einer Pipeline. Ausführliche Informationen finden Sie unter Details zu stream_progress Ereignis.

Detailtypen

Die folgenden Objekte stellen den details anderen Ereignistyp im PipelineEvent Objekt dar.

Details zu „create_update“

Die Details zum create_update Ereignis.

Feld Description
dbr_version Version von Databricks Runtime.
run_as Die Benutzer-ID, unter deren Namen das Update ausgeführt wird. In der Regel ist dies entweder der Besitzer der Pipeline oder ein Dienstprinzipal.
cause Der Grund für das Update. Normalerweise entweder JOB_TASK bei Ausführung in einem Auftrag oder USER_ACTION bei interaktiver Ausführung durch einen Benutzer.

Details zum user_action-Ereignis

Die Details zum user_action Ereignis. Enthält die folgenden Felder:

Feld Description
user_name Der Name des Benutzers, der ein Pipelineupdate ausgelöst hat.
user_id Die ID des Benutzers, der ein Pipelineupdate ausgelöst hat. Dies ist nicht immer identisch mit dem run_as Benutzer, bei dem es sich um einen Dienstprinzipal oder einen anderen Benutzer handelt.
action Die Aktion, die der Benutzer ausgeführt hat, einschließlich START und CREATE.

Details zum flow_progress-Ereignis

Die Details zu einem flow_progress Ereignis.

Feld Description
status Der neue Status des Flusses. Kann eine der folgenden sein:
  • QUEUED
  • STARTING
  • RUNNING
  • COMPLETED
  • FAILED
  • SKIPPED
  • STOPPED
  • IDLE
  • EXCLUDED
metrics Metriken zum Fluss. Ausführliche Informationen finden Sie unter FlowMetrics.
data_quality Datenqualitätsmetriken in Bezug auf den Datenfluss und die damit verbundenen Erwartungen. Ausführliche Informationen finden Sie unter DataQualityMetrics.

Details zum update_progress-Ereignis

Die Details eines update_progress-Ereignisses.

Feld Description
state Der neue Status des Updates. Kann eine der folgenden sein:
  • QUEUED
  • CREATED
  • WAITING_FOR_RESOURCES
  • INITIALIZING
  • RESETTING
  • SETTING_UP_TABLES
  • RUNNING
  • STOPPING
  • COMPLETED
  • FAILED
  • CANCELED

Nützlich für die Berechnung der Dauer verschiedener Phasen eines Pipelineupdates von der Gesamtdauer bis zum Zeitaufwand für das Warten auf Ressourcen, z. B.
cancellation_cause Der Grund, warum ein Update in den Zustand CANCELED übergegangen ist. Enthält Gründe wie USER_ACTION oder WORKFLOW_CANCELLATION (der Workflow, der das Update ausgelöst hat, wurde abgebrochen).

Details zum flow_definition-Ereignis

Die Details zu einem flow_definition Ereignis.

Feld Description
input_datasets Die Eingaben, die von diesem Fluss gelesen werden.
output_dataset Das Ausgabe-Dataset, in das dieser Fluss schreibt.
output_sink Die Ausgabesenke, in die dieser Flow schreibt.
explain_text Der erläuterte Abfrageplan.
schema_json Spark SQL JSON-Schemazeichenfolge.
schema Schema dieses Flusses.
flow_type Der Typ des Flusses. Kann eine der folgenden sein:
  • COMPLETE: Streamingtabelle schreibt im vollständigen Modus (Streaming) in das Ziel.
  • CHANGE: Streamingtabelle mit APPLY_CHANGES_INTO.
  • SNAPSHOT_CHANGE: Streamingtabelle mit APPLY CHANGES INTO ... FROM SNAPSHOT ....
  • APPEND: Streamingtabelle schreibt im Anfügemodus (Streaming) in das Ziel.
  • MATERIALIZED_VIEW: Gibt in eine materialisierte Sicht aus.
  • VIEW: Gibt in eine Sicht aus.
comment Benutzerkommentar oder -beschreibung zum Dataset.
spark_conf Für diesen Flow festgelegte Spark-Konfigurationen.
language Die Sprache, die zum Erstellen dieses Flows verwendet wird. Kann SCALA, PYTHON oder SQL sein.
once Ob dieser Flow für die einmalige Ausführung deklariert wurde.

Details zum dataset_definition-Ereignis

Die Details zu einem dataset_definition Ereignis. Enthält die folgenden Felder:

Feld Description
dataset_type Unterscheidet zwischen materialisierten Ansichten und Streamingtabellen.
num_flows Die Anzahl der Datenflüsse, die in das Dataset geschrieben werden.
expectations Die Erwartungen, die dem Dataset zugeordnet sind.

Details zum sink_definition-Ereignis

Die Details zu einem sink_definition Ereignis.

Feld Description
format Das Format der Spüle.
options Die Schlüsselwertoptionen, die der Spüle zugeordnet sind.

Details zur Enumeration für das Veraltungsereignis

Das deprecation Ereignis weist ein message Feld auf. Die möglichen Werte für message umfassen die folgenden. Dies ist eine Teilliste, die im Laufe der Zeit wächst.

Feld Description
TABLE_MANAGED_BY_MULTIPLE_PIPELINES Eine Tabelle wird von mehreren Pipelines verwaltet.
INVALID_CLUSTER_LABELS Verwenden von Clusterbeschriftungen, die nicht unterstützt werden.
PINNED_DBR_VERSION Verwenden Sie dbr_version anstelle von channel in den Pipelineeinstellungen.
PREVIOUS_CHANNEL_USED Verwenden Sie den Veröffentlichungskanal PREVIOUS, der in einer zukünftigen Version möglicherweise entfernt wird.
LONG_DATASET_NAME Verwenden eines Datensatznamens, der länger als die unterstützte Länge ist.
LONG_SINK_NAME Verwendeter Senkenname ist länger als unterstützt.
LONG_FLOW_NAME Verwenden eines Flussnamens, der länger als die unterstützte Länge ist.
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE Die Clusterrichtlinie wird nur eingehalten, wenn die erweiterte automatische Skalierung eine feste Clustergröße verwendet.
DATA_SAMPLE_CONFIGURATION_KEY Die Verwendung des Konfigurationsschlüssels zum Konfigurieren des Datensamplings ist veraltet.
INCOMPATIBLE_CLUSTER_SETTINGS Aktuelle Clustereinstellungen oder Clusterrichtlinien sind nicht mehr mit Lakeflow Spark Declarative Pipelines kompatibel.
STREAMING_READER_OPTIONS_DROPPED Verwenden von Streaming-Reader-Optionen, die verworfen wurden.
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG Das Festlegen statischer Spark-Konfigurationen über die Pipelinekonfiguration für serverlose Pipelines ist nicht zulässig.
INVALID_SERVERLESS_PIPELINE_CONFIG Serverless-Kunde stellt eine ungültige Pipelinekonfiguration bereit.
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE Angeben nicht verwendeter expliziter Tabellenpfade in verwalteten UC-Tabellen.
FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE Die bereitgestellte foreachBatch-Funktion ist nicht serialisierbar.
DROP_PARTITION_COLS_NO_PARTITIONING Das Ablegen des partition_cols-Attributs führt zu keiner Partitionierung.
PYTHON_CREATE_TABLE Verwendung von @dlt.create\_table anstelle von @dp.table oder @dp.materialized\_view.
PYTHON_CREATE_VIEW Anstelle von @dlt.create\_view@dp.temporary\_view verwenden.
PYTHON_CREATE_STREAMING_LIVE_TABLE Anstelle von create_streaming_live_tablecreate_streaming_table verwenden.
PYTHON_CREATE_TARGET_TABLE Anstelle von create_target_tablecreate_streaming_table verwenden.
FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE Eine Tabellengruppe, die von der Pipeline verwaltet wird, weist einen Zyklus im Satz der Fremdschlüsseleinschränkungen auf.
PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE Ein teilweise qualifizierter Tabellenverweis, der im Standardmäßigen Veröffentlichungsmodus und im älteren Veröffentlichungsmodus unterschiedliche Bedeutungen hat.

Details zum cluster_resources-Ereignis

Die Details zu einem cluster_resources Ereignis. Gilt nur für Pipelines, die auf klassischem Computing ausgeführt werden.

Feld Description
task_slot_metrics Die Aufgabenslotkennzahlen des Clusters. Ausführliche Informationen finden Sie unter TaskSlotMetrics-Objekt
autoscale_info Zustand der Autoscaler. Ausführliche Informationen finden Sie unter AutoscaleInfo-Objekt

Details zum AutoScale-Ereignis

Die Details eines autoscale-Ereignisses. Autoscale-Ereignisse sind nur anwendbar, wenn die Pipeline Classic Compute verwendet.

Feld Description
status Status dieses Ereignisses Kann eine der folgenden sein:
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Die optimale Anzahl der vom Algorithmus vorgeschlagenen Executors vor dem Anwenden der Grenzen min_workers und max_workers.
requested_num_executors Die Anzahl der Executors nach dem Begrenzen der vom Algorithmus vorgeschlagenen optimalen Anzahl von Executors auf die Grenzen min_workers und max_workers.

Details zum planning_information-Ereignis

Die Details zu einem planning_information Ereignis. Nützlich für das Anzeigen von Details im Zusammenhang mit dem ausgewählten Aktualisierungstyp für einen bestimmten Fluss während einer Aktualisierung. Kann verwendet werden, um zu helfen, Fehler zu beheben, warum ein Update vollständig statt inkrementell aktualisiert wird. Weitere Informationen zu inkrementellen Aktualisierungen finden Sie unter "Inkrementelle Aktualisierung für materialisierte Ansichten".

Feld Description
technique_information Aktualisierungsbezogene Informationen. Sie enthält sowohl Informationen darüber, welche Aktualisierungsmethode ausgewählt wurde, als auch die möglichen Aktualisierungsmethoden, die berücksichtigt wurden. Nützlich für das Debuggen, warum eine materialisierte Ansicht nicht inkrementellisiert werden konnte. Weitere Informationen finden Sie unter TechniqueInformation.
source_table_information Quelltabelleninformationen. Kann beim Debuggen hilfreich sein, um zu verstehen, warum eine materialisierte Ansicht nicht inkrementell verarbeitet werden konnte. Ausführliche Informationen finden Sie unter TableInformation-Objekt.
target_table_information Informationen zur Zieltabelle. Ausführliche Informationen finden Sie unter TableInformation-Objekt.

Details zum hook_progress-Ereignis

Details eines hook_progress-Ereignisses. Enthält die folgenden Felder:

Feld Description
name Der Name des Benutzer-Hooks.
status Zustand des Benutzerhooks.

Details zum operation_progress-Ereignis

Details eines operation_progress-Ereignisses. Enthält die folgenden Felder:

Feld Description
type Der Typ des Vorgangs, der nachverfolgt wird. Enthält einen der folgenden Werte:
  • AUTO_LOADER_LISTING
  • AUTO_LOADER_BACKFILL
  • CONNECTOR_FETCH
  • CDC_SNAPSHOT
status Der Status des Vorgangs. Enthält einen der folgenden Werte:
  • STARTED
  • COMPLETED
  • CANCELED
  • FAILED
  • IN_PROGRESS
duration_ms Die gesamt verstrichene Zeit des Vorgangs in Millisekunden. Nur im Endereignis enthalten (wo status COMPLETED, CANCELED, oder FAILED ist).

Details zum stream_progress-Ereignis

Details eines stream_progress-Ereignisses. Enthält das folgende Feld:

Feld Description
stream_progress Die Details des Pipeline-Streams. Ähnlich wie die StreamingQueryListener Metriken für strukturiertes Streaming.
Die Unterschiede werden in den folgenden Absätzen beschrieben. Vollständige Dokumentation zu StreamingQueryListener Metriken finden Sie unter StreamingQueryListener-Objektmetriken.

Unterschiede zwischen stream_progress und StreamingQueryListener Objektmetriken:

  • Die folgenden Metriken sind in StreamingQueryListener, aber nicht in stream_progress: numInputRows, inputRowsPerSecond und processedRowsPerSecond.
  • Für Kafka- und Kinesis-Datenströme können die Felder startOffset, endOffset und latestOffset zu groß sein und werden daher abgeschnitten. Für jedes dieser Felder wird ein zusätzliches ...Truncated Feld, startOffsetTruncated, endOffsetTruncated, und latestOffsetTruncated, mit einem booleschen Wert hinzugefügt, um anzugeben, ob die Daten abgeschnitten werden.

Andere Objekte

Die folgenden Objekte stellen zusätzliche Daten oder Enumerationen innerhalb der Ereignisobjekte dar.

AutoscaleInfo-Objekt

Die Metriken für die automatische Skalierung für einen Cluster. Gilt nur für Pipelines, die auf klassischem Computing ausgeführt werden.

Feld Description
state Der Status der automatischen Skalierung. Kann eine der folgenden sein:
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Die optimale Anzahl von Ausführungsinstanzen. Dies ist die optimale, vom Algorithmus vorgeschlagene Größe, bevor sie durch die vom Benutzer angegebene minimale/maximale Anzahl an Executors beschränkt wird.
latest_requested_num_executors Die Anzahl der vom Statusmanager in der letzten Anforderung beim Cluster-Manager angeforderten Executors. Dies ist die Anzahl der Ausführenden, auf die der Statusmanager versucht zu skalieren, und sie wird aktualisiert, wenn der Statusmanager im Falle von Timeouts versucht, den Zustand des Skalierens zu verlassen. Dieses Feld wird nicht ausgefüllt, wenn keine ausstehende Anforderung vorhanden ist.
request_pending_seconds Die Dauer, für die die Skalierungsanforderung aussteht. Dies wird nicht ausgefüllt, wenn keine ausstehende Anforderung vorhanden ist.

CostModelRejectionSubType-Objekt

Eine Enumeration der Gründe, aus denen die Inkrementierung abgelehnt wird, basierend auf den Kosten der vollständigen Aktualisierung im Vergleich zur inkrementellen Aktualisierung in einem planning_information Ereignis.

Wert Description
NUM_JOINS_THRESHOLD_EXCEEDED Vollständige Aktualisierung weil die Abfrage zu viele Verknüpfungen enthält.
CHANGESET_SIZE_THRESHOLD_EXCEEDED Vollständig aktualisieren, da zu viele Zeilen in den Basistabellen geändert wurden.
TABLE_SIZE_THRESHOLD_EXCEEDED Vollständige Aktualisierung, da die Basistabellengröße den Schwellenwert überschritten hat.
EXCESSIVE_OPERATOR_NESTING Vollständige Aktualisierung, da die Abfragedefinition komplex ist und viele Ebenen operatorischer Schachtelung aufweist.
COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED Vollständig aktualisieren aus beliebigem anderen Grund.

DataQualityMetrics-Objekt

Metriken darüber, wie Erwartungen innerhalb des Ablaufs erfüllt werden. Wird in flow_progress-Ereignisdetails verwendet.

Feld Description
dropped_records Die Anzahl der Einträge, die abgelehnt wurden, weil sie eine oder mehrere Erwartungen nicht erfüllt haben.
expectations Kennzahlen für Erwartungen, die einem Dataset im Abfrageplan des Flows hinzugefügt werden. Wenn es mehrere Erwartungen gibt, kann dies verwendet werden, um nachzuverfolgen, welche Erwartungen erfüllt wurden oder fehlgeschlagen sind. Ausführliche Informationen finden Sie unter "ExpectationMetrics"-Objekt.

ExpectationMetrics-Objekt

Metriken zu Erwartungen für eine bestimmte Erwartung.

Feld Description
name Der Name der Erwartung.
dataset Der Name des Datasets, dem die Erwartung hinzugefügt wurde.
passed_records Die Anzahl der Datensätze, die die Erwartung erfüllen.
failed_records Die Anzahl der Datensätze, die die Erwartung nicht erfüllen. Erfasst, ob die Erwartung erfüllt wurde, aber nicht beschreibt, was mit den Datensätzen passiert (Warnen, Fehlschlagen oder Ablegen der Datensätze).

FlowMetrics-Objekt

Metriken des Flusses, einschließlich der Gesamtmenge für den Fluss und aufgeschlüsselt nach spezifischen Quellen. Wird in flow_progress-Ereignisdetails verwendet.

Jede Streamingquelle unterstützt nur bestimmte Flussmetriken. In der folgenden Tabelle sind die Metriken aufgeführt, die für unterstützte Streamingquellen verfügbar sind:

source Backlogbytes Backlog-Datensätze Backlog Sekunden Backlogdateien
Kafka
Kinesis
Delta
Automatischer Lader
Google Pub/Sub (Nachrichtendienst)
Feld Description
num_output_rows Anzahl der Ausgabezeilen, die durch eine Aktualisierung dieses Datenflusses geschrieben wurden.
backlog_bytes Gesamter Backlog in Bytes für alle Eingabequellen im Datenfluss.
backlog_records Gesamtanzahl der Backlog-Einträge aus allen Eingabequellen im Prozess.
backlog_files Gesamtanzahl der ausstehenden Dateien in allen Eingabequellen des Datenflusses.
backlog_seconds Maximale Rückstauzeit in Sekunden über alle Eingabequellen innerhalb des Flusses.
executor_time_ms Summe aller Vorgangsausführungszeiten in Millisekunden dieses Flusses im Berichtszeitraum.
executor_cpu_time_ms Summe aller CPU-Zeiten der Aufgabenausführung in Millisekunden dieses Flusses im Berichtszeitraum.
num_upserted_rows Die Anzahl der Ausgabezeilen, die durch eine Aktualisierung dieses Datenflusses in das Dataset aufgenommen wurden.
num_deleted_rows Die Anzahl vorhandener Ausgabezeilen, die durch eine Aktualisierung dieses Flusses aus dem Dataset gelöscht wurden.
num_output_bytes Anzahl der ausgegebenen Bytes, die durch eine Aktualisierung dieses Flows geschrieben wurden.
source_metrics Metriken für jede Eingabequelle im Fluss. Nützlich zur Überwachung des Fortschritts der Dateneingabe von Quellen, die nicht Teil der Lakeflow Spark Declarative Pipelines sind (wie Apache Kafka, Pulsar oder Auto Loader). Enthält die Felder:
  • source_name: Der Name der Quelle.
  • backlog_bytes: Backlog in Bytes für diese Quelle.
  • backlog_records: Backlog-Datensätze für diese Quelle.
  • backlog_files: Backlog-Dateien für diese Quelle.
  • backlog_seconds: Backlog in Sekunden für diese Quelle.

IncrementalizationIssue-Objekt

Stellt Probleme mit der Inkrementalisierung dar, die beim Planen eines Updates eine vollständige Aktualisierung erforderlich machen können.

Feld Description
issue_type Ein Problemtyp, der das Inkrementalisieren der materialisierten Sicht verhindern kann. Ausführliche Informationen finden Sie unter "Problemtyp".
prevent_incrementalization Gibt an, ob dieses Problem verhindert hat, dass die Inkrementierung ausgeführt wird.
table_information Tabelleninformationen im Zusammenhang mit Problemen wie CDF_UNAVAILABLE, , INPUT_NOT_IN_DELTA. DATA_FILE_MISSING
operator_name Planbezogene Informationen. Wird für Probleme gesetzt, wenn der Problemtyp für den Operator oder Ausdruck, der das nicht deterministische Verhalten oder die Unmöglichkeit der Inkrementierung verursacht, entweder PLAN_NOT_DETERMINISTIC oder PLAN_NOT_INCREMENTALIZABLE ist.
expression_name Der Ausdrucksname.
join_type Zusatzinformationen, wenn der Operator ein Join ist. Zum Beispiel: JOIN_TYPE_LEFT_OUTER oder JOIN_TYPE_INNER.
plan_not_incrementalizable_sub_type Detaillierte Kategorie, wenn der Problemtyp ist PLAN_NOT_INCREMENTALIZABLE. Weitere Informationen finden Sie unter PlanNotIncrementalizableSubType-Objekt.
plan_not_deterministic_sub_type Detaillierte Kategorie, wenn der Problemtyp ist PLAN_NOT_DETERMINISTIC. Weitere Informationen finden Sie unter PlanNotDeterministicSubType-Objekt.
fingerprint_diff_before Differenz zum vorherigen Fingerabdruck.
fingerprint_diff_current Differenz zum aktuellen Fingerabdruck.
cost_model_rejection_subtype Detaillierte Kategorie, wenn der Problemtyp ist INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL. Weitere Informationen finden Sie unter CostModelRejectionSubType-Objekt.

IssueType-Objekt

Eine Enumeration von Problemtypen, die zu einer vollständigen Aktualisierung führen können.

Wert Description
CDF_UNAVAILABLE CDF (Datenfeed ändern) ist für einige Basistabellen nicht aktiviert. Das table_information Feld enthält Informationen dazu, für welche Tabelle kein CDF aktiviert ist. Verwenden Sie ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true), um CDF für die Basistabelle zu aktivieren. Wenn die Quelltabelle eine materialisierte Ansicht ist, sollte das CDF standardmäßig auf ON festgelegt werden.
DELTA_PROTOCOL_CHANGED Vollständige Aktualisierung, weil einige Basistabellen (Details im Feld table_information) eine Delta-Protokolländerung aufweisen.
DATA_SCHEMA_CHANGED Vollständig aktualisieren, weil bei einigen Basistabellen (Details im table_information-Feld) das Datenbankschema in den Spalten geändert wurde, die von der Definition der materialisierten Ansicht genutzt werden. Nicht relevant, wenn eine Spalte, die die materialisierte Ansicht nicht verwendet, geändert oder der Basistabelle hinzugefügt wurde.
PARTITION_SCHEMA_CHANGED Vollständig aktualisiert, da einige Basistabellen (Details im table_information Feld) eine Partitionsschemaänderung hatten.
INPUT_NOT_IN_DELTA Vollständige Aktualisierung, da die materialisierte Ansichtsdefinition einige Nicht-Delta-Eingaben umfasst.
DATA_FILE_MISSING Vollständige Aktualisierung, weil einige Basistabellendateien aufgrund ihres Aufbewahrungszeitraums bereits geleert wurden.
PLAN_NOT_DETERMINISTIC Vollständig aktualisieren, da einige Operatoren oder Ausdrücke in der materialisierten Ansichtsdefinition nicht deterministisch sind. Die Felder operator_name und expression_name enthalten Informationen darüber, welcher Operator oder Ausdruck das Problem verursacht hat.
PLAN_NOT_INCREMENTALIZABLE Vollständige Aktualisierung, da einige Operatoren oder Ausdrücke in der materialisierten Ansichtsdefinition nicht inkrementellisierbar sind.
SERIALIZATION_VERSION_CHANGED Vollständige Aktualisierung, da es eine erhebliche Änderung in der Fingerabdruck-Logik von Abfragen gab.
QUERY_FINGERPRINT_CHANGED Vollständig aktualisieren, da sich die Definition der materialisierten Ansicht geändert hat oder Veröffentlichungen von Lakeflow Spark Declarative Pipelines eine Änderung in den Abfrageauswertungsplänen verursacht haben.
CONFIGURATION_CHANGED Vollständige Aktualisierung, weil Schlüsselkonfigurationen (z. B. spark.sql.ansi.enabled) geändert wurden, was sich auf die Abfrageauswertung auswirken kann. Vollständige Neuberechnung ist erforderlich, um inkonsistente Zustände in der materialisierten Ansicht zu vermeiden.
CHANGE_SET_MISSING Vollständig aktualisieren, da sie die erste Berechnung der materialisierten Ansicht ist. Dies wird für die anfängliche materialisierte Ansichtsberechnung erwartet.
EXPECTATIONS_NOT_SUPPORTED Vollständige Aktualisierung, da die materialisierte Ansichtsdefinition Erwartungen enthält, die für inkrementelle Updates nicht unterstützt werden. Entfernen Sie Erwartungen, oder behandeln Sie sie außerhalb der materialisierten Ansichtsdefinition, wenn eine inkrementelle Unterstützung erforderlich ist.
TOO_MANY_FILE_ACTIONS Vollständige Aktualisierung, da die Anzahl der Dateiaktionen den Schwellenwert für die inkrementelle Verarbeitung überschritten hat. Erwägen Sie das Reduzieren von Dateiabwanderungen in Basistabellen oder das Erhöhen von Schwellenwerten.
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL Vollständige Aktualisierung, da das Kostenmodell festgestellt hat, dass eine vollständige Aktualisierung effizienter ist als die inkrementelle Wartung. Überprüfen Sie das Kostenmodellverhalten oder die Komplexität des Abfrageplans, um inkrementelle Updates zuzulassen.
ROW_TRACKING_NOT_ENABLED Vollständige Aktualisierung, da die Zeilenverfolgung in einer oder mehreren Basistabellen nicht aktiviert ist. Aktivieren Sie die Zeilenverfolgung mithilfe von ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true).
TOO_MANY_PARTITIONS_CHANGED Vollständig aktualisieren, da zu viele Partitionen in den Basistabellen geändert wurden. Versuchen Sie, die Anzahl der Partitionsänderungen einzuschränken, um inkrementelle Verarbeitungsgrenzwerte einzuhalten.
MAP_TYPE_NOT_SUPPORTED Vollständige Aktualisierung, da die materialisierte Ansichtsdefinition einen Kartentyp enthält, der für inkrementelle Updates nicht unterstützt wird. Erwägen Sie die Umstrukturierung der Daten, um Kartentypen in der materialisierten Ansicht zu vermeiden.
TIME_ZONE_CHANGED Vollständige Aktualisierung, da sich die Sitzungs- oder Systemzeitzoneneinstellung geändert hat.
DATA_HAS_CHANGED Vollständig aktualisieren, da sich die für die materialisierte Ansicht relevanten Daten auf eine Weise geändert haben, die inkrementelle Aktualisierungen verhindert. Bewerten Sie die Datenänderungen und die Struktur der Ansichtsdefinition, um die Kompatibilität mit inkrementeller Logik sicherzustellen.
PRIOR_TIMESTAMP_MISSING Vollständig aktualisieren, da der Zeitstempel des letzten erfolgreichen Durchlaufs fehlt. Dies kann nach einem Metadatenverlust oder manuellen Eingriff auftreten.

MaintenanceType-Objekt

Eine Enumeration von Wartungstypen, die während eines planning_information Ereignisses ausgewählt werden können. Wenn der Typ nicht MAINTENANCE_TYPE_COMPLETE_RECOMPUTE oder MAINTENANCE_TYPE_NO_OP ist, handelt es sich um eine inkrementelle Aktualisierung.

Wert Description
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE Vollständige Neukompilierung; immer angezeigt.
MAINTENANCE_TYPE_NO_OP Wenn die Basistabellen nicht geändert werden.
MAINTENANCE_TYPE_PARTITION_OVERWRITE Inkrementelle Aktualisierung der betroffenen Partitionen, wenn die materialisierte Sicht mit einer der Quelltabellen co-partitioniert ist.
MAINTENANCE_TYPE_ROW_BASED Aktualisieren Sie inkrementell, indem Sie modulare Änderungssätze für verschiedene Vorgänge erstellen, z. B. JOIN, FILTER und UNION ALL,, und sie zusammensetzen, um komplexe Abfragen zu berechnen. Wird verwendet, wenn die Zeilennachverfolgung für die Quelltabellen aktiviert ist, und es gibt eine begrenzte Anzahl von Verknüpfungen für die Abfrage.
MAINTENANCE_TYPE_APPEND_ONLY Inkrementelle Aktualisierung, indem nur neue Zeilen berechnet werden, weil es keine Einfügungen oder Löschungen in den Quelltabellen gab.
MAINTENANCE_TYPE_GROUP_AGGREGATE Aktualisieren Sie inkrementell, indem Sie Änderungen für jeden Aggregatwert berechnen. Wird verwendet, wenn assoziative Aggregate, wie z. B. count, sum, mean und stddev, sich auf der obersten Ebene der Abfrage befinden.
MAINTENANCE_TYPE_GENERIC_AGGREGATE Aktualisieren Sie inkrementell, indem Sie nur die Aggregatgruppen berechnen, die betroffen sind. Wird verwendet, wenn Aggregate wie median (nicht nur assoziative) auf oberster Ebene der Abfrage liegen.
MAINTENANCE_TYPE_WINDOW_FUNCTION Inkrementelle Aktualisierung von Abfragen mit Fensterfunktionen wie PARTITION BY, indem nur die geänderten Partitionen erneut berechnet werden. Wird verwendet, wenn alle Fensterfunktionen eine PARTITION BY- oder eine JOIN-Klausel aufweisen und sich auf der obersten Ebene der Abfrage befinden.

Ursprungsobjekt

Wo das Ereignis entstanden ist.

Feld Description
cloud Der Cloudanbieter. Mögliche Werte sind:
  • AWS
  • Azure
  • GCP
region Die Cloudregion.
org_id Die Organisations-ID oder Arbeitsbereichs-ID des Benutzers. Einzigartig in einer Cloud. Nützlich zum Identifizieren des Arbeitsbereichs oder zum Verknüpfen mit anderen Tabellen, z. B. Systemabrechnungstabellen.
pipeline_id ID der Pipeline. Ein eindeutiger Bezeichner für die Pipeline. Nützlich zum Identifizieren der Pipeline oder zum Verknüpfen mit anderen Tabellen, z. B. Systemabrechnungstabellen.
pipeline_type Der Typ der Pipeline, um anzuzeigen, wo die Pipeline erstellt wurde. Mögliche Werte sind:
  • DBSQL: Eine über Databricks SQL erstellte Pipeline.
  • WORKSPACE: Eine ETL-Pipeline, die über Lakeflow Spark Declarative Pipelines erstellt wurde.
  • MANAGED_INGESTION: Eine verwaltete Lakeflow Connect-Aufnahmepipeline.
  • BRICKSTORE: Eine Pipeline zum Aktualisieren einer Onlinetabelle für die Bereitstellung von Echtzeit-Funktionen.
  • BRICKINDEX: Eine Pipeline zum Aktualisieren einer Vektordatenbank. Weitere Informationen finden Sie unter Vektorsuche.
pipeline_name Der Name der Pipeline.
cluster_id Die ID des Clusters, in dem eine Ausführung erfolgt. Global eindeutig.
update_id ID einer einzelnen Ausführung der Pipeline. Entspricht der Ausführungs-ID.
table_name Name der (Delta)-Tabelle, in die geschrieben wird.
dataset_name Der vollqualifizierte Name eines Datasets.
sink_name Name einer Senke.
flow_id ID des Flows. Verfolgt den Zustand des Flows, der über mehrere Updates hinweg verwendet wird. Solange das flow_id dasselbe ist, wird der Datenfluss schrittweise aktualisiert. Die flow_id ändert sich, wenn die materialisierte Sicht vollständig aktualisiert wird, der Prüfpunkt zurückgesetzt wird oder eine vollständige Neuberechnung in der materialisierten Sicht erfolgt.
flow_name Der Name des Flusses.
batch_id Die ID eines Mikrobatchs. Eindeutig im Flow.
request_id Die ID der Anforderung, die ein Update verursacht hat.

PlanNotDeterministicSubType-Objekt

Eine Enumeration von nicht deterministischen Fällen für ein planning_information Ereignis.

Wert Description
STREAMING_SOURCE Vollständig aktualisieren, da die materialisierte Ansichtsdefinition eine Streamingquelle enthält, die nicht unterstützt wird.
USER_DEFINED_FUNCTION Vollständig aktualisieren, da die materialisierte Ansicht eine nicht unterstützte benutzerdefinierte Funktion enthält. Nur deterministische Python-UDFs werden unterstützt. Andere UDFs verhindern möglicherweise inkrementelle Updates.
TIME_FUNCTION Vollständig aktualisieren, da die materialisierte Ansicht eine zeitbasierte Funktion wie CURRENT_DATE oder CURRENT_TIMESTAMP enthält. Die expression_name Eigenschaft stellt den Namen der nicht unterstützten Funktion bereit.
NON_DETERMINISTIC_EXPRESSION Vollständige Aktualisierung, da die Abfrage einen nicht-deterministischen Ausdruck wie RANDOM(). enthält. Die expression_name Eigenschaft gibt die nicht deterministische Funktion an, die die inkrementelle Wartung verhindert.

PlanNotIncrementalizableSubType-Objekt

Eine Aufzählung der Gründe, warum ein Updateplan möglicherweise nicht inkrementalisierbar ist.

Wert Description
OPERATOR_NOT_SUPPORTED Vollständige Aktualisierung, da der Abfrageplan einen nicht unterstützten Operator enthält. Die operator_name Eigenschaft stellt den Namen des nicht unterstützten Operators bereit.
AGGREGATE_NOT_TOP_NODE Vollständige Aktualisierung, da sich ein Aggregatoperator (GROUP BY) nicht auf der obersten Ebene des Abfrageplans befindet. Inkrementelle Wartung unterstützt Aggregate nur auf oberster Ebene. Erwägen Sie, zwei materialisierte Ansichten zu definieren, um die Aggregation zu trennen.
AGGREGATE_WITH_DISTINCT Vollständige Aktualisierung, da die Aggregation eine DISTINCT Klausel enthält, die für inkrementelle Updates nicht unterstützt wird.
AGGREGATE_WITH_UNSUPPORTED_EXPRESSION Vollständige Aktualisierung, da die Aggregation nicht unterstützte Ausdrücke enthält. Die expression_name Eigenschaft gibt den problematischen Ausdruck an.
SUBQUERY_EXPRESSION Vollständige Aktualisierung, da die materialisierte Ansichtsdefinition einen Unterabfrageausdruck enthält, der nicht unterstützt wird.
WINDOW_FUNCTION_NOT_TOP_LEVEL Vollständige Aktualisierung, da sich eine Fensterfunktion nicht auf der obersten Ebene des Abfrageplans befindet.
WINDOW_FUNCTION_WITHOUT_PARTITION_BY Vollständige Aktualisierung, da eine Fensterfunktion ohne PARTITION BY Klausel definiert ist.

Table-Information-Objekt

Stellt Details einer Tabelle dar, die während eines planning_information Ereignisses berücksichtigt wird.

Feld Description
table_name Tabellenname, der in der Abfrage aus dem Unity-Katalog oder dem Hive-Metaspeicher verwendet wird. Bei pfadbasiertem Zugriff möglicherweise nicht verfügbar.
table_id Erforderlich. Tabellen-ID aus dem Delta-Protokoll.
catalog_table_type Typ der Tabelle, wie im Katalog angegeben.
partition_columns Partitionsspalten der Tabelle.
table_change_type Ändern Sie den Typ in der Tabelle. Einer der folgenden Werte: TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY, TABLE_CHANGE_TYPE_GENERAL_CHANGE.
full_size Die vollständige Größe der Tabelle in Anzahl der Bytes.
change_size Größe der geänderten Zeilen in geänderten Dateien. Wird unter Verwendung von change_file_read_size * num_changed_rows / num_rows_in_changed_files berechnet.
num_changed_partitions Anzahl der geänderten Partitionen.
is_size_after_pruning Geben full_size und change_size an, ob Daten nach dem Beschneiden statischer Dateien vorliegen?
is_row_id_enabled Gibt an, ob die Zeilen-ID in der Tabelle aktiviert ist.
is_cdf_enabled Gibt an, ob CDF für die Tabelle aktiviert ist.
is_deletion_vector_enabled Gibt an, ob der Löschvektor in der Tabelle aktiviert ist.
is_change_from_legacy_cdf Gibt an, ob die Tabellenänderung von veralteten CDF oder Zeilen-ID-basierten CDF stammt.

TaskSlotMetrics-Objekt

Die Aufgaben-Slot-Metriken für einen Cluster. Gilt nur für Pipeline-Updates, die auf klassischer Rechenleistung ausgeführt werden.

Feld Description
summary_duration_ms Die Dauer in Millisekunden, über die Aggregatmetriken (z. B avg_num_task_slots. ) berechnet werden.
num_task_slots Die Anzahl der Spark-Task-Slots zum Berichterstellungszeitpunkt.
avg_num_task_slots Durchschnittliche Anzahl der Spark-Aufgabenslots über die Zusammenfassungsdauer.
avg_task_slot_utilization Die durchschnittliche Aufgabenauslastung (Anzahl der aktiven Aufgaben dividiert durch die Anzahl der Aufgabenslots) über die zusammengefasste Zeitspanne.
num_executors Die Anzahl der Spark Executors zum Berichtszeitpunkt.
avg_num_queued_tasks Die durchschnittliche Größe der Aufgabenwarteschlange (Anzahl der Gesamtaufgaben abzüglich der Anzahl der aktiven Aufgaben) über die Dauer der Zusammenfassung.

Technikinformationsobjekt

Aktualisieren Sie die Methodikinformationen für ein Planungsevent.

Feld Description
maintenance_type Wartungstyp im Zusammenhang mit diesem Informationsbestandteil.
Wenn der Typ nicht MAINTENANCE_TYPE_COMPLETE_RECOMPUTE oder MAINTENANCE_TYPE_NO_OP ist, wird der Datenfluss inkrementell aktualisiert.
Ausführliche Informationen finden Sie unter MaintenanceType-Objekt.
is_chosen Wahr für die Technik, die für die Aktualisierung ausgewählt wurde.
is_applicable Gibt an, ob der Wartungstyp anwendbar ist.
incrementalization_issues Probleme bei der Inkrementalisierung, die dazu führen können, dass ein Update vollständig neu geladen wird. Weitere Informationen finden Sie unter „IncrementalizationIssue“-Objekt.
change_set_information Informationen zum produzierten endgültigen Änderungssatz. Mögliche Werte:
  • CHANGE_SET_TYPE_APPEND_ONLY
  • CHANGE_SET_TYPE_GENERAL_ROW_CHANGE