Dela via


Tabellreferens för systemtabell för förutsägande optimering

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Kommentar

Om du vill ha åtkomst till den här tabellen måste du aktivera storage schemat (se Aktivera systemtabellscheman) och din region måste ha stöd för förutsägelseoptimering (se Azure Databricks-regioner).

Den här artikeln beskriver tabellschemat för förutsägande optimeringsåtgärdshistorik och innehåller exempelfrågor. Förutsägelseoptimering optimerar din datalayout för högsta prestanda och kostnadseffektivitet. Systemtabellen spårar drifthistoriken för den här funktionen. Information om förutsägelseoptimering finns i Förutsägande optimering för Delta Lake.

Den här systemtabellen finns på system.storage.predictive_optimization_operations_history.

Leveransöverväganden

  • Det kan ta upp till 24 timmar innan data fylls i.
  • Förutsägande optimering kan köra flera åtgärder i samma kluster. I så fall uppskattas den andel av DPU:er som tillskrivs var och en av de flera åtgärderna. Det är därför som är inställt på usage_unitESTIMATED_DBU. Ändå är det totala antalet DBU:er som spenderas på klustret korrekta.

Tabellschema för förutsägande optimering

Systemtabellen för förutsägande optimeringsåtgärdshistorik använder följande schema:

Kolumnnamn Datatyp beskrivning Exempel
account_id sträng ID för kontot. 11e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id sträng ID:t för arbetsytan där förutsägelseoptimering körde åtgärden. 1234567890123456
start_time timestamp Tidpunkten då åtgärden startades. 2023-01-09 10:00:00.000
end_time timestamp Tiden då åtgärden avslutades. 2023-01-09 11:00:00.000
metastore_name sträng Namnet på metaarkivet som den optimerade tabellen tillhör. metastore
catalog_name sträng Namnet på katalogen som den optimerade tabellen tillhör. catalog
schema_name sträng Namnet på schemat som den optimerade tabellen tillhör. schema
table_id sträng ID:t för den optimerade tabellen. 138ebb4b-3757-41bb-9e18-52b38d3d2836
table_name sträng Namnet på den optimerade tabellen. table1
operation_type sträng Optimeringsåtgärden som utfördes. Värdet blir COMPACTION eller VACUUM. COMPACTION
operation_id sträng ID:t för optimeringsåtgärden. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status sträng Status för optimeringsåtgärden. Värdet blir SUCCESSFUL eller FAILED: INTERNAL_ERROR. SUCCESSFUL
operation_metrics map[string, string] Ytterligare information om den specifika optimering som utfördes. För COMPACTION-åtgärder: (number_of_compacted_files, amount_of_data_compacted_bytes, number_of_output_files, amount_of_output_data_bytes) för VACUUM-åtgärder: (number_of_deleted_files, amount_of_data_deleted_bytes) {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"}
usage_unit sträng Den användningsenhet som den här åtgärden ådragit sig. Kan bara vara ett värde: ESTIMATED_DBU. ESTIMATED_DBU
usage_quantity decimal Mängden användningsenhet som användes av den här åtgärden. 2.12

Exempelfrågor

Följande avsnitt innehåller exempelfrågor som du kan använda för att få insikter om systemtabellen för förutsägande optimering. För att dessa frågor ska fungera måste du ersätta värdena inom klammerparenteser {{}} med dina egna parametrar.

Den här artikeln innehåller följande exempelfrågor:

Hur många uppskattade DBU:er har förutsägande optimering använts under de senaste 30 dagarna?

SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
     usage_unit = "ESTIMATED_DBU"
     AND  timestampdiff(day, start_time, Now()) < 30

På vilka tabeller spenderade förutsägelseoptimering mest under de senaste 30 dagarna (uppskattad kostnad)?

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

På vilka tabeller utför förutsägande optimering flest åtgärder?

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

Hur många totala byte har komprimerats för en viss katalog?

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

Vilka tabeller hade flest byte dammsugna?

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

Vad är framgångsgraden för åtgärder som körs av förutsägande optimeringar?

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