Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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:
|
maturity_level |
Stabilita schématu událostí. Možné hodnoty:
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í:
|
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í:
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í:
|
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 deprecation má message 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í:
|
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í:
|
status |
Stav operace. Jedna z těchto možností:
|
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,inputRowsPerSecondaprocessedRowsPerSecond. - U datových proudů Kafka a Kineses mohou být pole
startOffset,endOffsetalatestOffsetpříliš velká, a proto jsou zkrácena. Pro každé z těchto polí se přidá další...TruncatedpolestartOffsetTruncated,endOffsetTruncatedalatestOffsetTruncated, 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í:
|
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:
|
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:
|
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:
|
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:
|