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, proč je usage_unit nastaveno na ESTIMATED_DBU. Celkový počet jednotek DBU spotřebovaných na klastru bude však 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 prediktivní optimalizace provedla operaci. 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 hodnotCOMPACTION: , , VACUUM, ANALYZECLUSTERING, AUTO_CLUSTERING_COLUMN_SELECTION, DATA_SKIPPING_COLUMN_SELECTION, COMPATIBILITY_MODE_REFRESH, , DELETE, nebo PURGE. COMPACTION
operation_id řetězec ID operace optimalizace. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status řetězec Stav operace optimalizace. Musí být jedna z následujících hodnot: SUCCESSFUL, FAILED: INTERNAL_ERROR, FAILED: AUTO_TTL_COLUMN_DOES_NOT_EXIST_ERRORnebo FAILED: PRIVATE_LINK_SETUP_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 použití vznikla. Musí být následující hodnota: ESTIMATED_DBU. ESTIMATED_DBU
usage_quantity desítkové číslo Množství použité jednotky. 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 odebraných souborů
amount_of_data_compacted_bytes Počet odebraných bajtů
number_of_output_files Počet nových souborů, které byly přidány.
amount_of_output_data_bytes Počet přidaných bajtů.
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ů, které byly sesbírány odpadky.
amount_of_data_deleted_bytes Počet bajtů odebráných jako odpad.
ANALYZE Aktivuje přírůstkovou aktualizaci statistik za účelem zlepšení výkonu dotazů. Viz ANALYZE TABLE ... VÝPOČETNÍ STATISTIKA. amount_of_scanned_bytes Počet prohledaných bajtů.
number_of_scanned_files Počet naskenovaných souborů.
staleness_percentage_reduced Snížení procenta zatuchlosti. Tato statistika se může pohybovat od 0 do 100 v závislosti na frekvenci, která ANALYZE je spuštěna.
CLUSTERING Aktivuje přírůstkové seskupování pro aktivované tabulky. Viz Použití metody 'liquid clustering' pro tabulky. number_of_removed_files Počet odebraných souborů
number_of_clustered_files Počet nových souborů, které byly přidány.
amount_of_data_removed_bytes Počet odebraných bajtů
amount_of_clustered_data_bytes Počet přidaných bajtů.
AUTO_CLUSTERING_COLUMN_SELECTION Vyhodnotí, zda mají být vyvíjeny sloupce pro clustering. Viz Automatické shlukování kapalin. old_clustering_columns Předchozí datové rozložení, které může být staré shlukovací klíče nebo "Žádné", pokud není rozděleno na části.
new_clustering_columns Nové shlukovací sloupce.
has_column_selection_changed Ukazatel, zda se sloupce shlukování změnily.
additional_reason Důvody změny nebo žádná změna ve shlukování sloupců.
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 Počet prohledaných bajtů.
number_of_scanned_files Počet naskenovaných souborů.
added_data_skipping_columns Přidány sloupce pro přeskakování dat.
removed_data_skipping_columns Sloupce přeskakování dat byly odstraněny.
old_data_skipping_columns Předchozí vyčerpávající seznam sloupců přeskakování dat.
new_data_skipping_columns Aktuální vyčerpávající seznam sloupců přeskakujících data.
COMPATIBILITY_MODE_REFRESH Zjistí, jestli je režim kompatibility zastaralý, a aktualizuje tabulku. Viz Režim kompatibility. N/A Obnovovací operace v režimu kompatibility.
DELETE Odstraní řádky, které překročily automatickou dobu platnosti času do života. Viz Automatické odstraňování řádků s automatickou dobou životnosti (TTL). number_of_deleted_rows Počet odebraných řádků To bylo 0 v době, kdy žádné řádky nebyly způsobilé ke smazání.
amount_of_data_deleted_bytes Počet odebraných bajtů
PURGE Přepisuje datové soubory tak, aby fyzicky odstranil řádky již smazané pomocí vektorů pro mazání. Dříve běží v VACUUM tabulkách s povolenými deletion vectory. Viz Automatické odstraňování řádků s automatickou dobou životnosti (TTL). number_of_purged_rows Počet řádků vyčištěných. To bylo 0 v době, kdy žádné řádky nebyly způsobilé k vymazání. Viz Automatické odstraňování řádků s automatickou dobou životnosti (TTL).

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 v posledních 30 dnech?

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;

Které tabulky měly nejvíce bajtů vyčištěných?

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;