Sdílet prostřednictvím


Referenční informace k tabulce systému prediktivní optimalizace

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_unit proč je nastavena na ESTIMATED_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 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;