Sdílet prostřednictvím


Schéma protokolu událostí kanálu

Protokol událostí kanálu obsahuje všechny informace související s kanálem, včetně protokolů auditu, kontrol kvality dat, průběhu kanálu a rodokmenu dat.

Následující tabulky popisují schéma protokolu událostí. Některá z těchto polí obsahují data JSON, která vyžadují analýzu některých dotazů, například pole details. Azure Databricks podporuje operátor : k analýze polí JSON. Viz operátor (znak dvojtečky):.

Poznámka:

Některá pole v protokolu událostí jsou určená pro interní použití službou Azure Databricks. Následující dokumentace popisuje pole, která jsou určená pro spotřebu zákazníků.

Podrobnosti o používání protokolu událostí kanálu najdete v protokolu událostí kanálu.

Objekt PipelineEvent

Představuje jedinou událost pipeline v protokolu událostí.

Obor Description
id Jedinečný identifikátor záznamu protokolu událostí.
sequence Řetězec JSON obsahující metadata pro identifikaci a řazení událostí.
origin Řetězec JSON obsahující metadata pro původ události, například poskytovatele cloudu, oblast poskytovatele cloudu, uživatele a informace o kanálu. Viz originální objekt.
timestamp Čas, kdy byla událost zaznamenána, v UTC.
message Člověkem čitelná zpráva popisující událost.
level Úroveň upozornění. Možné hodnoty:
  • INFO: Informační události
  • WARN: Neočekávané, ale nekritické problémy
  • ERROR: Selhání události, která může vyžadovat pozornost uživatele
  • METRICS: Používá se pro události s velkým objemem, které jsou uložené pouze v tabulce Delta, a nezobrazují se v uživatelském rozhraní kanálů.
maturity_level Stabilita schématu událostí. Možné hodnoty:
  • STABLE: Schéma je stabilní a nezmění se.
  • NULL: Schéma je stabilní a nezmění se. Hodnota může být NULL v případě, že byl záznam vytvořen před přidáním maturity_level pole (verze 2022.37).
  • EVOLVING: Schéma není stabilní a může se změnit.
  • DEPRECATED: Schéma je zastaralé a modul runtime deklarativních kanálů Sparku Lakeflow může kdykoli ukončit vytváření této události.

Nedoporučuje se budovat monitorování ani výstrahy na základě polí EVOLVING nebo DEPRECATED.
error Pokud došlo k chybě, podrobnosti popisující chybu.
details Řetězec JSON obsahující strukturované podrobnosti události. Toto je primární pole používané k analýze událostí. Formát řetězce JSON závisí na objektu event_type. Další informace najdete v objektu podrobností .
event_type Typ události. Pro seznam typů událostí a jaké typy objektů detailů vytvářejí, viz Objekt detailů.

Objekt detailů

Každá událost má různé details vlastnosti v objektu JSON podle event_type typu události. Tato tabulka uvádí event_type a přidružený details. Vlastnosti details jsou popsány v části Typy podrobností .

Typ podrobností podle event_type Description
create_update Zaznamenává úplnou konfiguraci, která se používá ke spuštění aktualizace datového toku. Zahrnuje jakoukoli konfiguraci nastavenou službou Databricks. Podrobnosti najdete v tématu Podrobnosti o create_update.
user_action Poskytuje podrobnosti o jakékoli akci uživatele v kanálu (včetně vytvoření kanálu a spuštění nebo zrušení aktualizace). Podrobnosti najdete v tématu Podrobnosti o události user_action.
flow_progress Popisuje životní cyklus toku od zahájení, běžícího, až po dokončení nebo selhání. Podrobnosti najdete v tématu Podrobnosti o události flow_progress.
update_progress Popisuje životní cyklus aktualizace pipeline od spuštění, běhu, dokončení nebo selhání. Podrobnosti najdete v tématu Podrobnosti o události update_progress.
flow_definition Definuje schéma a plán dotazu pro všechny transformace, ke kterým dochází v daném toku. Lze si jej představit jako hrany DAG toku dat. Dá se použít k výpočtu rodokmenu pro každý tok a také k zobrazení vysvětlení plánu dotazu. Podrobnosti najdete na Podrobnosti události flow_definition.
dataset_definition Definuje datovou sadu, která je zdrojem nebo cílem daného toku. Podrobnosti najdete v tématu Podrobnosti o události dataset_definition.
sink_definition Definuje danou jímku. Podrobnosti najdete v tématu Podrobnosti události sink_definition.
deprecation Obsahuje seznam funkcí, které jsou brzy nebo již zastaralé, které toto potrubí používá. Příklady hodnot naleznete v části Podrobnosti výčtu pro událost zastarávání.
cluster_resources Obsahuje informace o prostředcích clusteru pro kanály spuštěné na klasických výpočetních prostředcích. Tyto metriky jsou naplněny pouze pro klasické výpočetní toky. Podrobnosti najdete v tématu Podrobnosti o události cluster_resources.
autoscale Obsahuje informace o automatickém škálování pro kanály, které běží na klasické výpočetní prostředky. Tyto metriky jsou naplněny pouze pro klasické výpočetní toky. Podrobnosti najdete v tématu Podrobnosti o události automatického škálování.
planning_information Představuje informace o plánování související s materializovaným zobrazením přírůstkového a úplného obnovení. Lze použít k získání dalších podrobností o tom, proč je materializované zobrazení plně přepočítáváno. Podrobnosti najdete v tématu Podrobnosti o události planning_information.
hook_progress Událost, která indikuje aktuální stav uživatelského hooku během běhu pipeline. Používá se ke sledování stavu událostních hooků, například pro odesílání dat do externích monitorovacích produktů. Podrobnosti najdete v tématu Podrobnosti o události hook_progress.
operation_progress Obsahuje informace o průběhu operace. Podrobnosti najdete v tématu Podrobnosti o události operation_progress.
stream_progress Obsahuje informace o průběhu procesní linie. Podrobnosti najdete v tématu Podrobnosti o události stream_progress.

Typy detailů

Následující objekty představují details jiný typ události v objektu PipelineEvent .

Podrobnosti o create_update

Podrobnosti události create_update .

Obor Description
dbr_version Verze Databricks Runtime.
run_as ID uživatele, jménem kterého bude aktualizace spuštěna. Obvykle se jedná o vlastníka potrubí nebo služebního principála.
cause Důvod aktualizace. Obvykle buď JOB_TASK při spuštění z úlohy, nebo USER_ACTION při interaktivním spuštění uživatelem.

Podrobnosti o události user_action

Podrobnosti události user_action . Obsahuje následující pole:

Obor Description
user_name Jméno uživatele, který aktivoval aktualizaci pipeline.
user_id ID uživatele, který spustil aktualizaci pipeline. To není vždy stejné jako run_as uživatel, což může být služební principal nebo jiný uživatel.
action Akce, která uživatel provedl, včetně START a CREATE.

Podrobnosti o události flow_progress

Podrobnosti události flow_progress .

Obor Description
status Nový stav toku. Může to být jedna z těchto možností:
  • QUEUED
  • STARTING
  • RUNNING
  • COMPLETED
  • FAILED
  • SKIPPED
  • STOPPED
  • IDLE
  • EXCLUDED
metrics Metriky o toku Podrobnosti najdete v tématu Metriky toku.
data_quality Metriky kvality dat o toku a souvisejících očekáváních Podrobnosti najdete v tématu DataQualityMetrics.

Podrobnosti o události update_progress

Podrobnosti události update_progress .

Obor Description
state Nový stav aktualizace. Může to být jedna z těchto možností:
  • QUEUED
  • CREATED
  • WAITING_FOR_RESOURCES
  • INITIALIZING
  • RESETTING
  • SETTING_UP_TABLES
  • RUNNING
  • STOPPING
  • COMPLETED
  • FAILED
  • CANCELED

Užitečné pro výpočet trvání různých fází aktualizace datového toku, od celkové doby až po dobu strávenou čekáním na prostředky, například.
cancellation_cause Důvod, proč aktualizace vstoupila do CANCELED stavu. Zahrnuje důvody, například USER_ACTION nebo WORKFLOW_CANCELLATION (pracovní postup, který aktivoval aktualizaci, byl zrušen).

Podrobnosti o události flow_definition

Podrobnosti události flow_definition .

Obor Description
input_datasets Vstupy přečtené tímto tokem.
output_dataset Výstupní datová sada, do které tento tok zapisuje.
output_sink Výstupní jímka, do které tento tok zapisuje.
explain_text Vysvětlení plánu dotazu
schema_json Řetězec schématu Spark SQL JSON
schema Schéma tohoto toku
flow_type Typ toku. Může to být jedna z těchto možností:
  • COMPLETE: Streamovaná tabulka zapisuje do cíle v úplném režimu (streamování).
  • CHANGE: Streamování tabulky pomocí APPLY_CHANGES_INTO.
  • SNAPSHOT_CHANGE: Streamování tabulky pomocí APPLY CHANGES INTO ... FROM SNAPSHOT ....
  • APPEND: Streamovaná tabulka zapisuje do cíle v režimu připojení (streamování).
  • MATERIALIZED_VIEW: Výstupy do materializovaného zobrazení.
  • VIEW: Výstupy do zobrazení.
comment Komentář uživatele nebo popis datové sady
spark_conf Spark konfigurace jsou nastaveny na tento tok.
language Jazyk použitý k vytvoření tohoto toku. Může být SCALA, PYTHONnebo SQL.
once Zda byl tento tok deklarován tak, aby se spustil jednou.

Podrobnosti o události dataset_definition

Podrobnosti události dataset_definition . Obsahuje následující pole:

Obor Description
dataset_type Rozlišuje mezi materializovanými zobrazeními a tabulkami streamování.
num_flows Počet toků, které se zapisují do datové sady
expectations Očekávání spojená s datovou sadou

Podrobnosti o události sink_definition

Podrobnosti události sink_definition .

Obor Description
format Formát jímky.
options Možnosti klíč-hodnota přidružené k jímce.

Podrobnosti výčtového typu pro událost vyřazení

Událost deprecationmessage pole. Možné hodnoty pro message zahrnují následující. Jedná se o částečný seznam, který v průběhu času roste.

Obor Description
TABLE_MANAGED_BY_MULTIPLE_PIPELINES Tabulku spravuje více pipelinek.
INVALID_CLUSTER_LABELS Použití štítků clusteru, které nejsou podporovány.
PINNED_DBR_VERSION Používá se dbr_version místo channel v nastavení kanálu.
PREVIOUS_CHANNEL_USED Pomocí kanálu PREVIOUS verze, který může být v budoucí verzi odstraněn.
LONG_DATASET_NAME Použití názvu sady dat delší než podporovaná délka
LONG_SINK_NAME Použití názvu jímky delší než podporovaná délka
LONG_FLOW_NAME Použití názvu toku delšího než podporovaná délka
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE Zásady clusteru vyhovují jenom v případech, kdy rozšířené automatické škálování používá pevnou velikost clusteru.
DATA_SAMPLE_CONFIGURATION_KEY Použití konfiguračního klíče ke konfiguraci vzorkování dat je zastaralé.
INCOMPATIBLE_CLUSTER_SETTINGS Aktuální nastavení clusteru nebo zásady clusteru už nejsou kompatibilní s deklarativními kanály Sparku Lakeflow.
STREAMING_READER_OPTIONS_DROPPED Používání možností streamovací čtečky, které jsou ignorovány.
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG Nastavení statických konfigurací Sparku prostřednictvím konfigurace kanálu pro bezserverové kanály není povoleno.
INVALID_SERVERLESS_PIPELINE_CONFIG Bezserverový zákazník poskytuje neplatnou konfiguraci kanálu.
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE Určení nepoužívaných explicitních cest k tabulkám ve spravovaných tabulkách UC
FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE Zadanou funkci foreachBatch nelze serializovat.
DROP_PARTITION_COLS_NO_PARTITIONING Vyřazení atributu partition_cols způsobí, že nedojde k dělení.
PYTHON_CREATE_TABLE Použití @dlt.create\_table namísto @dp.table nebo @dp.materialized\_view.
PYTHON_CREATE_VIEW Použití @dlt.create\_view místo .@dp.temporary\_view
PYTHON_CREATE_STREAMING_LIVE_TABLE Použití create_streaming_live_table místo .create_streaming_table
PYTHON_CREATE_TARGET_TABLE Použití create_target_table místo .create_streaming_table
FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE Sada tabulek spravovaných pipeline má cyklus mezi omezeními cizího klíče.
PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE Částečně kvalifikovaný odkaz na tabulku, který má různé významy ve výchozím režimu publikování a starším režimu publikování.

Podrobnosti o události cluster_resources

Podrobnosti události cluster_resources . Platí jenom pro pipeline spuštěné na klasických výpočetních prostředcích.

Obor Description
task_slot_metrics Metriky slotu úloh clusteru. Podrobnosti najdete v tématu TaskSlotMetrics – objekt
autoscale_info Stav autoscalerů Podrobnosti najdete v objektu AutoscaleInfo.

Podrobnosti o události automatického škálování

Podrobnosti události autoscale . Události automatického škálování platí jenom v případě, že kanál používá klasické výpočetní prostředky.

Obor Description
status Stav této události Může to být jedna z těchto možností:
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Optimální počet vykonavatelů navržený algoritmem před aplikací limitů min_workers a max_workers.
requested_num_executors Počet exekutorů po zkrácení optimálního počtu exekutorů navržených algoritmem na min_workers a max_workers hranice.

Podrobnosti o události planning_information

Podrobnosti události planning_information . Užitečné pro zobrazení podrobností souvisejících s vybraným typem aktualizace pro daný tok během aktualizace. Lze použít k ladění důvodu, proč je aktualizace plně obnovena, místo toho, aby byla inkrementálně obnovována. Další podrobnosti o přírůstkových aktualizacích najdete v tématu Přírůstková aktualizace pro materializovaná zobrazení.

Obor Description
technique_information Informace související s aktualizací Obsahuje informace o tom, jaká metodologie aktualizace byla vybrána, a možné metodologie aktualizace, které byly považovány za. Užitečné pro analýzu, proč se nepodařilo zvýšit materializované zobrazení. Další podrobnosti najdete v tématu TechniqueInformation.
source_table_information Informace o zdrojové tabulce Může být užitečné při ladění, proč se nepodařilo materializované zobrazení inkrementalizovat. Podrobnosti naleznete v objektu TableInformation.
target_table_information Informace o cílové tabulce Podrobnosti naleznete v objektu TableInformation.

Podrobnosti o události hook_progress

Podrobnosti hook_progress události Obsahuje následující pole:

Obor Description
name Název uživatelského háku.
status Stav háku uživatele

Podrobnosti o události operation_progress

Podrobnosti operation_progress události. Obsahuje následující pole:

Obor Description
type Typ sledované operace. Jedna z těchto možností:
  • AUTO_LOADER_LISTING
  • AUTO_LOADER_BACKFILL
  • CONNECTOR_FETCH
  • CDC_SNAPSHOT
status Stav operace. Jedna z těchto možností:
  • STARTED
  • COMPLETED
  • CANCELED
  • FAILED
  • IN_PROGRESS
duration_ms Celkový uplynulý čas operace v milisekundách. Zahrnuta pouze v koncové události (kde stav je COMPLETED, CANCELED nebo FAILED).

Podrobnosti o události stream_progress

Podrobnosti stream_progress události Obsahuje následující pole:

Obor Description
stream_progress Podrobnosti o datovém proudu kanálu Podobá se metrikám strukturovaného StreamingQueryListener streamování.
Rozdíly jsou popsány v následujících odstavcích. Úplnou dokumentaci k StreamingQueryListener metrikám najdete v tématu Metriky objektů StreamingQueryListener.

Rozdíly mezi stream_progress metrikami objektů a StreamingQueryListener metrikami objektů:

  • Následující metriky jsou přítomny v , ale ne v StreamingQueryListenerstream_progress: numInputRows, inputRowsPerSeconda processedRowsPerSecond.
  • U datových proudů Kafka a Kineses mohou být pole startOffset, endOffset a latestOffset příliš velká, a proto jsou zkrácena. Pro každé z těchto polí se přidá další ...Truncated pole startOffsetTruncated, endOffsetTruncateda latestOffsetTruncated, s logickou hodnotou pro to, zda jsou data zkrácena.

Další objekty

Následující objekty představují další data nebo výčty v rámci objektů událostí.

Objekt AutoscaleInfo

Metriky automatického škálování clusteru Platí jenom pro pipeline spuštěné na klasických výpočetních prostředcích.

Obor Description
state Stav automatického škálování Může to být jedna z těchto možností:
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Optimální počet exekutorů. Jedná se o optimální velikost navrženou algoritmem před zkrácením uživatelem určeným minimálním/maximálním počtem exekutorů.
latest_requested_num_executors Počet vykonavatelů, které správce stavů požadoval od správce clusteru v nejnovějším požadavku. Jedná se o počet exekutorů, na které se správce stavu pokouší škálovat, a aktualizuje se, když se správce stavu pokusí ukončit stav škálování v případě vypršení časových limitů. Toto pole se nenaplní, pokud neexistuje žádný čekající požadavek.
request_pending_seconds Doba, po kterou žádost o škálování čeká na vyřízení. Toto se nenaplní, pokud neexistuje žádný čekající požadavek.

CostModelRejectionSubType – objekt

Výčet důvodů, proč se přírůstková aktualizace odmítne na základě porovnání nákladů na úplnou versus přírůstkovou aktualizaci v planning_information události.

Hodnota Description
NUM_JOINS_THRESHOLD_EXCEEDED Plně obnovte, protože dotaz obsahuje příliš mnoho spojení.
CHANGESET_SIZE_THRESHOLD_EXCEEDED Úplné aktualizace, protože se změnilo příliš mnoho řádků v základních tabulkách.
TABLE_SIZE_THRESHOLD_EXCEEDED Plně aktualizovat, protože velikost základní tabulky překročila prahovou hodnotu.
EXCESSIVE_OPERATOR_NESTING Úplné aktualizace, protože definice dotazu je složitá a má mnoho úrovní vnoření operátorů.
COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED Úplné aktualizace z jakéhokoli jiného důvodu.

Objekt DataQualityMetrics

Metriky o tom, jak jsou v rámci procesu toku plněna očekávání. flow_progress Používá se v podrobnostech události.

Obor Description
dropped_records Počet záznamů, které byly vyřazeny, protože nesplnily jedno nebo více kritérií.
expectations Metriky očekávání přidané do jakékoli datové sady v dotazovacím plánu toku. Pokud existuje více očekávání, můžete ho použít ke sledování toho, která očekávání byla splněna nebo selhala. Podrobnosti naleznete v tématu objekt ExpectationMetrics.

Objekt ExpectationMetrics

Metriky o očekáváních pro konkrétní očekávání

Obor Description
name Název očekávání.
dataset Název datové sady, do které se přidalo očekávání.
passed_records Počet záznamů, které vyhovují očekávání.
failed_records Počet záznamů, které nevyhovují očekávání. Sleduje, zda bylo splněno očekávání, ale nepopisuje, co se stane se záznamy (varování, selhání nebo odstranění záznamů).

Objekt FlowMetrics

Metriky o toku, včetně součtu toku, a rozčleněné podle konkrétního zdroje flow_progress Používá se v podrobnostech události.

Každý zdroj streamování podporuje pouze konkrétní metriky toku. Následující tabulka uvádí metriky dostupné pro podporované zdroje streamování:

odeslat k provedení bajty backlogu záznamy nevyřízených úkolů sekundy backlogu backlogové soubory
Kafka
Kinesis
Delta
Automatický nakladač
Google Pub/Sub (služba pro zasílání zpráv)
Obor Description
num_output_rows Počet výstupních řádků zapsaných aktualizací tohoto toku
backlog_bytes Celková velikost nevyřízených úkolů v bajtech napříč všemi vstupními zdroji v toku.
backlog_records Celkový počet záznamů backlogu ze všech vstupních zdrojů v procesu
backlog_files Celkový počet backlogových souborů ve všech vstupních zdrojích v procesu.
backlog_seconds Maximální počet sekund backlogu napříč všemi vstupními zdroji v toku dat.
executor_time_ms Součet všech časů provádění úkolů v milisekundách tohoto toku v průběhu sledovaného období
executor_cpu_time_ms Součet všech časů procesoru provádění úloh v milisekundách tohoto toku v průběhu sledovaného období
num_upserted_rows Počet výstupních řádků přenesených do datové sady aktualizací tohoto toku
num_deleted_rows Počet existujících výstupních řádků odstraněných z datové sady aktualizací tohoto toku
num_output_bytes Počet bajtů výstupu napsaných aktualizací tohoto toku
source_metrics Metriky pro každý vstupní zdroj v toku Užitečné pro monitorování průběhu příjmu dat ze zdrojů mimo deklarativní kanály Sparku Lakeflow (například Apache Kafka, Pulsar nebo Auto Loader). Zahrnuje pole:
  • source_name: Název zdroje.
  • backlog_bytes: Backlog v bajtech pro tento zdroj.
  • backlog_records: Záznamy backlogu pro tento zdroj.
  • backlog_files: Backlogové soubory pro tento zdroj.
  • backlog_seconds: Doba čekání (v sekundách) pro tento zdroj.

Objekt IncrementalizationIssue

Představuje problémy s přírůstkovou inkrementací, které by mohly způsobit úplnou obnovu během přípravy aktualizace.

Obor Description
issue_type Typ problému, který by mohl zabránit inkrementalizaci materializovaného zobrazení. Podrobnosti najdete v tématu Typ problému.
prevent_incrementalization Jestli tento problém zabránil inkrementalizaci.
table_information Informace o tabulce spojené s problémy, jako jsou CDF_UNAVAILABLE, INPUT_NOT_IN_DELTA, DATA_FILE_MISSING.
operator_name Informace související s plánem Nastavte u problémů, pokud je typ problému buď PLAN_NOT_DETERMINISTIC nebo PLAN_NOT_INCREMENTALIZABLE, operátor nebo výraz, který způsobuje nedeterminismus nebo neinkrementovatelnost.
expression_name Název výrazu.
join_type Pomocné informace, pokud je operátor JOIN. Například JOIN_TYPE_LEFT_OUTER nebo JOIN_TYPE_INNER.
plan_not_incrementalizable_sub_type Podrobná kategorie, pokud je typ problému PLAN_NOT_INCREMENTALIZABLE. Podrobnosti naleznete v tématu objekt PlanNotIncrementalizableSubType.
plan_not_deterministic_sub_type Podrobná kategorie, pokud je typ problému PLAN_NOT_DETERMINISTIC. Podrobnosti naleznete u objektu PlanNotDeterministicSubType.
fingerprint_diff_before Rozdíl od otisku prstu před tím.
fingerprint_diff_current Rozdíl od aktuálního otisku prstu.
cost_model_rejection_subtype Podrobná kategorie, pokud je typ problému INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL. Podrobnosti naleznete v části CostModelRejectionSubType objektu.

Objekt IssueType

Výčet typů problémů, které by mohly způsobit úplnou aktualizaci.

Hodnota Description
CDF_UNAVAILABLE U některých základních tabulek není aktivován CDF (proud dat o změnách). Pole table_information poskytuje informace o tom, která tabulka nemá povolenou funkci CDF. Použijte ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true) k povolení CDF pro základní tabulku. Pokud je zdrojová tabulka materializované zobrazení, CDF by mělo být ve výchozím nastavení nastaveno na ON.
DELTA_PROTOCOL_CHANGED Plně aktualizovat, protože některé základní tabulky (podrobnosti v table_information poli) měly změnu protokolu Delta.
DATA_SCHEMA_CHANGED Plně aktualizovat, protože některé základní tabulky (podrobnosti v table_information poli) měly změnu schématu dat ve sloupcích používaných definicí materializovaného zobrazení. Není relevantní, pokud sloupec, který materializované zobrazení nepoužívá, byl změněn nebo přidán do základní tabulky.
PARTITION_SCHEMA_CHANGED Úplně obnovte, protože některé základní tabulky (podrobnosti v poli table_information) měly změnu schématu partice.
INPUT_NOT_IN_DELTA Úplně aktualizovat, protože definice materializovaného zobrazení zahrnuje některé vstupy, které nejsou ne-Delta.
DATA_FILE_MISSING Proveďte úplné obnovení, protože některé soubory základní tabulky již byly vyčištěny z důvodu doby uchovávání.
PLAN_NOT_DETERMINISTIC Plně aktualizovat, protože některé operátory nebo výrazy v definici materializovaného zobrazení nejsou deterministické. Pole operator_name a expression_name poskytují informace o tom, který operátor nebo výraz problém způsobil.
PLAN_NOT_INCREMENTALIZABLE Úplně obnovte, protože některé operátory nebo výrazy v definici materializovaného zobrazení nelze inkrementálně aktualizovat.
SERIALIZATION_VERSION_CHANGED Úplné aktualizace, protože v logice otisku prstu dotazu došlo k významné změně.
QUERY_FINGERPRINT_CHANGED Úplné aktualizace, protože se změnila definice materializovaného zobrazení nebo verze deklarativních kanálů Sparku lakeflow způsobily změnu v plánech vyhodnocení dotazů.
CONFIGURATION_CHANGED Plně aktualizovat, protože se změnily konfigurace klíčů (například spark.sql.ansi.enabled), které by mohly ovlivnit vyhodnocení dotazů. Úplné přepočítání se vyžaduje, aby se zabránilo nekonzistentním stavům v materializovaném zobrazení.
CHANGE_SET_MISSING Plně aktualizovat, protože se jedná o první výpočet materializovaného zobrazení. Toto chování je očekávané pro počáteční materializované výpočty zobrazení.
EXPECTATIONS_NOT_SUPPORTED Plně aktualizovat, protože definice materializovaného zobrazení zahrnuje očekávání, která nejsou podporována pro přírůstkové aktualizace. Pokud potřebujete přírůstkovou podporu, odeberte očekávání nebo je zpracujte mimo definici materializovaného zobrazení.
TOO_MANY_FILE_ACTIONS Úplné aktualizace, protože počet akcí souboru překročil prahovou hodnotu pro přírůstkové zpracování. Zvažte snížení četnosti změn souborů v základních tabulkách nebo zvýšení prahových hodnot.
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL Úplná aktualizace, protože model nákladů zjistil, že úplná aktualizace je efektivnější než přírůstková údržba. Zkontrolujte chování nákladového modelu nebo složitost plánu dotazu a povolte přírůstkové aktualizace.
ROW_TRACKING_NOT_ENABLED Úplné aktualizace, protože sledování řádků není povolené u jedné nebo více základních tabulek. Povolte sledování řádků pomocí ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true).
TOO_MANY_PARTITIONS_CHANGED Úplné aktualizace, protože v základních tabulkách se změnilo příliš mnoho oddílů. Pokuste se omezit počet změn oddílů, abyste zůstali v limitech přírůstkového zpracování.
MAP_TYPE_NOT_SUPPORTED Plně aktualizovat, protože definice materializovaného zobrazení obsahuje typ mapy, který není podporován pro přírůstkové aktualizace. Zvažte restrukturalizaci dat, abyste se vyhnuli typům mapování v materializovaném zobrazení.
TIME_ZONE_CHANGED Úplné aktualizace, protože se změnilo nastavení časového pásma relace nebo systému.
DATA_HAS_CHANGED Úplné aktualizace, protože data relevantní pro materializované zobrazení se změnila způsobem, který brání přírůstkovým aktualizacím. Vyhodnoťte změny dat a strukturu definice zobrazení, abyste zajistili kompatibilitu s přírůstkovou logikou.
PRIOR_TIMESTAMP_MISSING Plně obnovit, protože chybí časové razítko posledního úspěšného spuštění. K tomu může dojít po ztrátě metadat nebo ručním zásahu.

Objekt MaintenanceType

Výčet typů údržby, které mohou být během události vybrány planning_information. Pokud typ není MAINTENANCE_TYPE_COMPLETE_RECOMPUTE nebo MAINTENANCE_TYPE_NO_OP, jedná se o přírůstkovou aktualizaci.

Hodnota Description
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE Úplné překomputování; vždy zobrazené.
MAINTENANCE_TYPE_NO_OP Pokud se základní tabulky nezmění.
MAINTENANCE_TYPE_PARTITION_OVERWRITE Postupně aktualizujte ovlivněné oddíly, pokud je materializovaný pohled spolurozdělený s jednou ze zdrojových tabulek.
MAINTENANCE_TYPE_ROW_BASED Přírůstková aktualizace vytvořením modulárních sad změn pro různé operace, například JOIN, FILTER, a UNION ALL, a jejich složením pro výpočet složitých dotazů. Používá se, když je sledování řádků pro zdrojové tabulky povoleno a počet spojení pro dotaz je omezený.
MAINTENANCE_TYPE_APPEND_ONLY Přírůstkové obnovení pouze výpočtem nových řádků, protože ve zdrojových tabulkách nebyly žádné upserty ani odstranění.
MAINTENANCE_TYPE_GROUP_AGGREGATE Přírůstkově aktualizujte tím, že spočítáte změny pro každou agregovanou hodnotu. Používá se, když jsou asociativní agregace, jako count, sum, mean a stddev, na nejvyšší úrovni dotazu.
MAINTENANCE_TYPE_GENERIC_AGGREGATE Přírůstková aktualizace výpočtem pouze ovlivněných agregačních skupin. Používá se, když jsou agregace jako median (nejen asociativní) na nejvyšší úrovni dotazu.
MAINTENANCE_TYPE_WINDOW_FUNCTION Přepočítávejte dotazy přírůstkově pomocí funkcí oken, jako PARTITION BY, pouze pro změněné partice. Používá se, když všechny funkce okna mají PARTITION BY klauzuli nebo JOIN klauzuli a jsou na nejvyšší úrovni dotazu.

Objekt původu

Kde událost pochází.

Obor Description
cloud Poskytovatel cloudu. Možné hodnoty:
  • AWS
  • Azure
  • GCP
region Oblast cloudu.
org_id ID organizace nebo ID pracovního prostoru uživatele. Jedinečné v rámci cloudu. Užitečné při identifikaci pracovního prostoru nebo při spojení s jinými tabulkami, jako jsou systémové fakturační tabulky.
pipeline_id ID potrubí. Jedinečný identifikátor potrubí. Užitečné při identifikaci kanálu nebo při spojení s jinými tabulkami, jako jsou systémové fakturační tabulky.
pipeline_type Typ kanálu, který zobrazí, kde byl kanál vytvořen. Možné hodnoty:
  • DBSQL: Kanál vytvořený prostřednictvím Databricks SQL.
  • WORKSPACE: Kanál ETL vytvořený prostřednictvím deklarativních kanálů Sparku Lakeflow.
  • MANAGED_INGESTION: Spravovaný kanál pro ingestování dat službou Lakeflow Connect.
  • BRICKSTORE: Kanál pro aktualizaci online tabulky pro poskytování funkcí v reálném čase.
  • BRICKINDEX: Kanál pro aktualizaci vektorové databáze. Další podrobnosti najdete v tématu hledání vektorů.
pipeline_name Název kanálu.
cluster_id ID clusteru, ve kterém dochází ke spuštění. Globálně jedinečný.
update_id ID jednoho spuštění potrubí. Jedná se o ekvivalent běhového ID.
table_name Název tabulky (Delta), do které se zapisuje.
dataset_name Plně kvalifikovaný název datové sady.
sink_name Název jímky.
flow_id Id procesu. Sleduje stav toku, který se používá během několika aktualizací. Pokud je flow_id totožný, proces se postupně obnovuje. flow_id se mění při úplné aktualizaci materializovaného zobrazení, při resetování kontrolního bodu nebo při úplném přepočítání v materializovaném zobrazení.
flow_name Název toku.
batch_id Identifikátor mikrodávky. Jedinečné v rámci toku.
request_id ID požadavku, který způsobil aktualizaci.

PlanNotDeterministicSubType – objekt

Výčet ne deterministických případů pro planning_information událost.

Hodnota Description
STREAMING_SOURCE Úplné aktualizace, protože definice materializovaného zobrazení zahrnuje zdroj streamování, který není podporován.
USER_DEFINED_FUNCTION Úplné aktualizace, protože materializované zobrazení zahrnuje nepodporovanou uživatelem definovanou funkci. Podporují se jenom deterministické uživatelsky definované funkce Pythonu. Jiná uživatelsky definovaná funkce mohou bránit přírůstkovým aktualizacím.
TIME_FUNCTION Úplné aktualizace, protože materializované zobrazení obsahuje funkci založenou na čase, například CURRENT_DATE nebo CURRENT_TIMESTAMP. Vlastnost expression_name poskytuje název nepodporované funkce.
NON_DETERMINISTIC_EXPRESSION Plně aktualizujte, protože dotaz obsahuje ne deterministický výraz, například RANDOM(). Vlastnost expression_name označuje neneurčitou funkci, která brání přírůstkové údržbě.

PlanNotIncrementalizableSubType – objekt

Výčet důvodů, proč plán aktualizace nemusí být přírůstkový.

Hodnota Description
OPERATOR_NOT_SUPPORTED Úplné aktualizace, protože plán dotazu zahrnuje nepodporovaný operátor. Vlastnost operator_name poskytuje název nepodporovaného operátoru.
AGGREGATE_NOT_TOP_NODE Plně obnovte, protože operátor agregace (GROUP BY) není na nejvyšší úrovni plánu dotazu. Přírůstková údržba podporuje agregace pouze na nejvyšší úrovni. Zvažte definování dvou materializovaných zobrazení pro oddělení agregace.
AGGREGATE_WITH_DISTINCT Úplné aktualizace, protože agregace obsahuje DISTINCT klauzuli, která není podporována pro přírůstkové aktualizace.
AGGREGATE_WITH_UNSUPPORTED_EXPRESSION Úplné aktualizace, protože agregace zahrnuje nepodporované výrazy. Vlastnost expression_name označuje problematický výraz.
SUBQUERY_EXPRESSION Plně aktualizovat, protože definice materializovaného zobrazení obsahuje výraz poddotazů, který není podporován.
WINDOW_FUNCTION_NOT_TOP_LEVEL Úplné aktualizace, protože funkce okna není na nejvyšší úrovni plánu dotazu.
WINDOW_FUNCTION_WITHOUT_PARTITION_BY Úplně aktualizovat, protože funkce okna je definována bez PARTITION BY klauzule.

TableInformation – objekt

Představuje podrobnosti o tabulce, které se zvažují během události planning_information.

Obor Description
table_name Název tabulky použitý v dotazu z katalogu Unity nebo metastoru Hive V případě přístupu na základě cesty nemusí být k dispozici.
table_id Povinné. ID tabulky z protokolu Delta
catalog_table_type Typ tabulky, jak je uvedeno v katalogu.
partition_columns Rozdělte sloupce tabulky.
table_change_type Změňte typ v tabulce. Jeden z: TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY, TABLE_CHANGE_TYPE_GENERAL_CHANGE.
full_size Úplná velikost tabulky v počtu bajtů
change_size Velikost změněných řádků v změněných souborech Vypočítá se pomocí change_file_read_size * num_changed_rows / num_rows_in_changed_files.
num_changed_partitions Počet změněných oddílů
is_size_after_pruning Určuje, zda full_size a change_size představuje data po vyřazení statického souboru.
is_row_id_enabled Určuje, jestli je v tabulce povolené ID řádku.
is_cdf_enabled Určuje, zda je CDF v tabulce povoleno.
is_deletion_vector_enabled Určuje, jestli je v tabulce povolený vektor odstranění.
is_change_from_legacy_cdf Zda změna tabulky pochází ze starší verze CDF nebo z CDF založeného na ID řádků.

TaskSlotMetrics – objekt

Metriky slotu úloh pro cluster. Platí jenom pro aktualizace pipeline spuštěné na klasickém výpočetním prostředí.

Obor Description
summary_duration_ms Doba trvání v milisekundách, po kterou se počítají agregované metriky (například avg_num_task_slots).
num_task_slots Počet slotů Spark úloh v okamžiku hlášení.
avg_num_task_slots Průměrný počet slotů úloh Sparku za souhrnnou dobu trvání.
avg_task_slot_utilization Průměrné využití slotu úkolu (počet aktivních úkolů vydělený počtem slotů úkolů) během souhrnné doby trvání.
num_executors Počet exekutorů Sparku v okamžiku hlášení.
avg_num_queued_tasks Průměrná velikost fronty úkolů (celkový počet úkolů minus počet aktivních úkolů) během souhrnné doby trvání.

TechniqueInformation – objekt

Aktualizovat informace o metodologii pro plánovací událost.

Obor Description
maintenance_type Typ údržby související s touto informací
Pokud typ není MAINTENANCE_TYPE_COMPLETE_RECOMPUTE nebo MAINTENANCE_TYPE_NO_OP, tok se přírůstkově aktualizuje.
Podrobnosti najdete v objektu MaintenanceType.
is_chosen Platí pro techniku zvolenou pro aktualizaci.
is_applicable Určuje, zda je typ údržby použitelný.
incrementalization_issues Problémy s přírůstkovou inkrementizací, které můžou způsobit úplnou aktualizaci. Pro podrobnosti viz objekt IncrementalizationIssue.
change_set_information Informace o konečné vytvořené sadě změn Hodnoty jsou jedna z následujících:
  • CHANGE_SET_TYPE_APPEND_ONLY
  • CHANGE_SET_TYPE_GENERAL_ROW_CHANGE