Referenční informace k systému prediktivní optimalizace table
Důležité
Tento systém table je ve verzi Public Preview. Pro přístup k tablemusí být v schemasystem
povolená catalog . Další informace naleznete v tématu Povolení systémových table schémat.
Poznámka:
Pokud chcete mít přístup k tomuto table, musíte povolit storage
schema (viz Povolení schémat systému table) a vaše oblast musí podporovat prediktivní optimalizaci (viz oblasti Azure Databricks).
Tento článek popisuje historii operací prediktivní optimalizace tableschema 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ém table sleduje historii operací této funkce. Informace o prediktivní optimalizaci pro Unity najdete v tématu Prediktivní optimalizace Catalog ve správě tables.
Table cesta: Tento systém table se nachází v system.storage.predictive_optimization_operations_history
.
Důležité informace o doručení
- Naplnění dat může 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ý. Proto je
usage_unit
setESTIMATED_DBU
. Celkový počet jednotek DBU strávených na clusteru bude přesto přesný.
Prediktivní optimalizace tableschema
Systém historie operací prediktivní optimalizace table používá následující schema:
Column název | Datový typ | Popis | Příklad |
---|---|---|---|
account_id |
string | ID účtu. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | 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 Timezone se zaznamenávají na konci hodnoty, přičemž +00:00 představuje čas UTC. |
2023-01-09 10:00:00.000+00:00 |
end_time |
časové razítko | Čas ukončení operace. Informace Timezone se zaznamenávají na konci hodnoty, přičemž +00:00 představuje čas UTC. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
string | Název metastoru, do kterého patří optimalizovaný table. | metastore |
metastore_id |
string | ID metastoru, do kterého patří optimalizovaná table. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
catalog_name |
string | Název catalog, ke kterému náleží optimalizovaná table. | catalog |
schema_name |
string | Název schema, ke kterému náleží optimalizovaná table. | schema |
table_id |
string | ID optimalizovaného table. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
string | Název optimalizovaného table. | table1 |
operation_type |
string | Operace optimalizace, která byla provedena. Hodnota bude COMPACTION , VACUUM , ANALYZE nebo CLUSTERING . |
COMPACTION |
operation_id |
string | ID operace optimalizace. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
string | Stav operace optimalizace. Hodnota bude 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 |
string | Jednotka využití, kterou tato operace vznikla. Může to být jen jedna hodnota: ESTIMATED_DBU . |
ESTIMATED_DBU |
usage_quantity |
decimal | Množství jednotky využití, kterou tato operace používala. | 2.12 |
Metriky operací
Metriky zaznamenané v operation_metrics
column se liší v závislosti na typu operace:
-
COMPACTION
:number_of_compacted_files
,amount_of_data_compacted_bytes
,number_of_output_files
,amount_of_output_data_bytes
-
VACUUM
:number_of_deleted_files
,amount_of_data_deleted_bytes
-
ANALYZE
:amount_of_scanned_bytes
,number_of_scanned_files
,staleness_percentage_reduced
-
CLUSTERING
:number_of_removed_files
,number_of_clustered_files
,amount_of_data_removed_bytes
,amount_of_clustered_data_bytes
Vzorové dotazy
Následující části obsahují ukázkové dotazy, které můžete použít k získání přehledu o systému prediktivní optimalizace table. Aby tyto dotazy fungovaly, musíte nahradit parametr values vlastním values.
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 tables strávila prediktivní optimalizace nejvíce za posledních 30 dnů (odhadované náklady)?
- Na kterých tables provádí prediktivní optimalizace nejvíce operací?
- Pro danou catalog, kolik celkových bajtů bylo komprimováno?
- Co tables uvolnilo nejvíce bajtů?
- Jaká je míra úspěšnosti operací spuštěných prediktivními optimalizacemi?
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
, na které tables vynaložila prediktivní optimalizace 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 tables provádí prediktivní optimalizaci nejvíce 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
Pro danou catalog, kolik celkových bajtů bylo komprimová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é tables mělo nejvíce vymazaných bajtů?
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ími optimalizacemi?
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