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.
Důležité
Tato systémová tabulka je ve verzi Public Preview.
Poznámka:
Pokud chcete mít přístup k této tabulce, musí vaše oblast podporovat prediktivní optimalizaci. Podívejte se na oblasti Azure Databricks.
Tento článek popisuje schéma tabulky historie operací prediktivní optimalizace a poskytuje ukázkové dotazy. Prediktivní optimalizace optimalizuje rozložení dat pro zajištění špičkového výkonu a efektivity nákladů. Systémová tabulka sleduje historii operací této funkce. Informace o prediktivní optimalizaci najdete v tématu Prediktivní optimalizace spravovaných tabulek v katalogu Unity.
Cesta k tabulce: Tato systémová tabulka se nachází na system.storage.predictive_optimization_operations_historyadrese .
Důležité informace o doručení
- Tabulka systému prediktivní optimalizace se aktualizuje do dvou hodin. Vyplnění fakturačních údajů může však trvat až 24 hodin.
- Prediktivní optimalizace může na stejném clusteru spouštět více operací. Pokud ano, podíl jednotek DBU přiřazených každému z více operací je přibližný. To je důvod,
usage_unitproč je nastavena naESTIMATED_DBU. Celkový počet jednotek DBU strávených na clusteru bude přesto přesný.
Schéma tabulky prediktivní optimalizace
Systémová tabulka historie operací prediktivní optimalizace používá následující schéma:
| Název sloupce | Datový typ | Popis | Příklad |
|---|---|---|---|
account_id |
řetězec | ID účtu. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
řetězec | ID pracovního prostoru, ve kterém byla operace spuštěna prediktivní optimalizace. | 1234567890123456 |
start_time |
časové razítko | Čas, kdy byla operace spuštěna. Informace o časovém pásmu se zaznamenávají na konci hodnoty, přičemž +00:00 představuje UTC. |
2023-01-09 10:00:00.000+00:00 |
end_time |
časové razítko | Čas ukončení operace. Informace o časovém pásmu se zaznamenávají na konci hodnoty, přičemž +00:00 představuje UTC. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
řetězec | Název metastoru, do kterého patří optimalizovaná tabulka. | metastore |
metastore_id |
řetězec | ID metastoru, do kterého patří optimalizovaná tabulka. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
catalog_name |
řetězec | Název katalogu, do kterého patří optimalizovaná tabulka. | catalog |
schema_name |
řetězec | Název schématu, do kterého patří optimalizovaná tabulka. | schema |
table_id |
řetězec | ID optimalizované tabulky. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
řetězec | Název optimalizované tabulky. | table1 |
operation_type |
řetězec | Operace optimalizace se provedla. Musí být jedna z následujících hodnot: COMPACTION, , VACUUMANALYZE, CLUSTERING, AUTO_CLUSTERING_COLUMN_SELECTION, DATA_SKIPPING_COLUMN_SELECTION, nebo COMPATIBILITY_MODE_REFRESH. |
COMPACTION |
operation_id |
řetězec | ID operace optimalizace. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
řetězec | Stav operace optimalizace. Musí to být jedna z následujících hodnot: SUCCESSFUL nebo FAILED: INTERNAL_ERROR. |
SUCCESSFUL |
operation_metrics |
map[řetězec, řetězec] | Další podrobnosti o konkrétní optimalizaci, která byla provedena. Viz Metriky operací. | {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"} |
usage_unit |
řetězec | Jednotka využití, kterou tato operace vznikla. Musí být následující hodnota: ESTIMATED_DBU. |
ESTIMATED_DBU |
usage_quantity |
desítkové číslo | Množství jednotky využití, kterou tato operace používala. | 2.12 |
Metriky operací
Metriky zaznamenané ve sloupci operation_metrics se liší v závislosti na typu operace:
| Název operace | Popis operace | Metriky operací | Description |
|---|---|---|---|
COMPACTION |
Zlepšuje výkon dotazů optimalizací velikostí souborů. Viz Optimalizace rozložení datového souboru. | number_of_compacted_files |
Počet souborů odebraných touto operací |
amount_of_data_compacted_bytes |
Množství bajtů odebraných touto operací | ||
number_of_output_files |
Počet nových souborů přidaných touto operací | ||
amount_of_output_data_bytes |
Množství bajtů přidaných touto operací | ||
VACUUM |
Snižuje náklady na úložiště odstraněním datových souborů, které tabulka již neodkazuje. viz Odebrání nepoužívaných datových souborů pomocí příkazu VACUUM. | number_of_deleted_files |
Počet souborů shromážděných touto operací. |
amount_of_data_deleted_bytes |
Množství bajtů uvolněných touto operací při sběru odpadu. | ||
ANALYZE |
Aktivuje přírůstkovou aktualizaci statistik za účelem zlepšení výkonu dotazů. Viz ANALYZE TABLE. | amount_of_scanned_bytes |
Množství bajtů naskenovaných touto operací. |
number_of_scanned_files |
Počet souborů naskenovaných touto operací | ||
staleness_percentage_reduced |
Snížení procenta zastarávání po této operaci. Tato statistika může být v rozsahu od 0 do 100 na základě četnosti spuštění ANALYZE . |
||
CLUSTERING |
Aktivuje přírůstkové seskupování pro aktivované tabulky. Viz Použití metody 'liquid clustering' pro tabulky. | number_of_removed_files |
Počet souborů odebraných touto operací |
number_of_clustered_files |
Počet nových souborů přidaných touto operací | ||
amount_of_data_removed_bytes |
Množství bajtů odebraných touto operací | ||
amount_of_clustered_data_bytes |
Množství bajtů přidaných touto operací | ||
AUTO_CLUSTERING_COLUMN_SELECTION |
Vyhodnotí, zda mají být vyvíjeny sloupce pro clustering. Viz Automatické shlukování kapalin. | old_clustering_columns |
Předchozí rozložení dat, které může být starými klíči shlukování, nebo "Žádné" v případě nerozdělení. |
new_clustering_columns |
Nové klastrovací sloupce použité touto operací. | ||
has_column_selection_changed |
Zda tato operace vyvinula sloupce clusteringu. | ||
additional_reason |
Důvody změny nebo žádné změny ve sloupcích clusteringu | ||
DATA_SKIPPING_COLUMN_SELECTION |
Zjistí sloupce s chybějícími daty, přeskočí statistiky z pracovního zatížení a doplní je. Viz Přeskočení dat. | amount_of_scanned_bytes |
Množství bajtů naskenovaných touto operací. |
number_of_scanned_files |
Počet souborů naskenovaných touto operací | ||
added_data_skipping_columns |
Nově přidaná data přeskočí sloupce použité touto operací. | ||
removed_data_skipping_columns |
Data přeskakují sloupce odebrané touto operací. | ||
old_data_skipping_columns |
Předchozí vyčerpávající seznam sloupců pro přeskočení dat. | ||
new_data_skipping_columns |
Aktuální vyčerpávající seznam sloupců pro přeskočení dat. | ||
COMPATIBILITY_MODE_REFRESH |
Zjistí, jestli je režim kompatibility zastaralý, a aktualizuje tabulku. Viz Režim kompatibility. | N/A | Operace aktualizace režimu kompatibility |
Vzorové dotazy
Následující části obsahují ukázkové dotazy, které můžete použít k získání přehledu o tabulce systému prediktivní optimalizace. Aby tyto dotazy fungovaly, musíte nahradit hodnoty parametrů vlastními hodnotami.
Tento článek obsahuje následující ukázkové dotazy:
- Kolik odhadovaných jednotek DBU využila prediktivní optimalizace za posledních 30 dní?
- U kterých tabulek byla prediktivní optimalizace vynaložena nejvíce za posledních 30 dnů (odhadované náklady)?
- U kterých tabulek provádí prediktivní optimalizace většinu operací?
- Kolik celkových bajtů bylo pro daný katalog zkomprimováno?
- Jaké tabulky měly největší bajty vakuové?
- Jaká je míra úspěšnosti operací spuštěných prediktivní optimalizací?
Kolik odhadovaných jednotek DBU se v posledních 30 dnech používá prediktivní optimalizace?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30;
Pokud chcete najít stejnou hodnotu pro konkrétní kanál ETL, můžete nejprve vyhledat tabulky v daném kanálu a pak vyhledat jednotky DBU:
-- Find all full table names for the pipeline:
WITH pipeline_mapping AS (
SELECT DISTINCT target_table_full_name AS target_table_name
FROM system.access.table_lineage
WHERE entity_type = 'PIPELINE' AND entity_id = :pipeline_id
)
-- Select all operations for any table in that pipeline:
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
CONCAT_WS('.', catalog_name, schema_name, table_name)
IN ( SELECT target_table_name FROM pipeline_mapping)
AND usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30;
U kterých tabulek byla prediktivní optimalizace vynaložena nejvíce za posledních 30 dnů (odhadované náklady)?
SELECT
metastore_name,
catalog_name,
schema_name,
table_name,
SUM(usage_quantity) as totalDbus
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
GROUP BY ALL
ORDER BY totalDbus DESC;
U kterých tabulek provádí prediktivní optimalizace většinu operací?
SELECT
metastore_name,
catalog_name,
schema_name,
table_name,
operation_type,
COUNT(DISTINCT operation_id) as operations
FROM system.storage.predictive_optimization_operations_history
GROUP BY ALL
ORDER BY operations DESC;
Kolik celkových bajtů bylo pro daný katalog zkomprimováno?
SELECT
schema_name,
table_name,
SUM(operation_metrics["amount_of_data_compacted_bytes"]) as bytesCompacted
FROM system.storage.predictive_optimization_operations_history
WHERE
metastore_name = :metastore_name
AND catalog_name = :catalog_name
AND operation_type = "COMPACTION"
GROUP BY ALL
ORDER BY bytesCompacted DESC;
Jaké tabulky měly největší bajty vakuové?
SELECT
metastore_name,
catalog_name,
schema_name,
table_name,
SUM(operation_metrics["amount_of_data_deleted_bytes"]) as bytesVacuumed
FROM system.storage.predictive_optimization_operations_history
WHERE operation_type = "VACUUM"
GROUP BY ALL
ORDER BY bytesVacuumed DESC;
Jaká je míra úspěšnosti operací spuštěných prediktivní optimalizací?
WITH operation_counts AS (
SELECT
COUNT(DISTINCT (CASE WHEN operation_status = "SUCCESSFUL" THEN operation_id END)) as successes,
COUNT(DISTINCT operation_id) as total_operations
FROM system.storage.predictive_optimization_operations_history
)
SELECT successes / total_operations as success_rate
FROM operation_counts;