Informazioni di riferimento sul sistema di ottimizzazione predittiva table
Importante
Questo sistema table è in anteprima pubblica . Per accedere al table, il schema deve essere abilitato nel system
catalog. Per ulteriori informazioni, vedere Abilitare gli schemi di sistema table.
Nota
Per avere accesso a questo table, è necessario abilitare l'storage
schema (vedere Abilitare gli schemi di sistema table) e la tua regione deve supportare l'ottimizzazione predittiva (vedere Aree di Azure Databricks).
Questo articolo descrive la cronologia delle operazioni di ottimizzazione predittiva tableschema e fornisce query di esempio. L'ottimizzazione predittiva ottimizza il layout dei dati per migliorare le prestazioni e l'efficienza dei costi. Il sistema table tiene traccia della cronologia delle operazioni di questa funzionalità. Per informazioni sull'ottimizzazione predittiva, vedere Ottimizzazione predittiva per Unity Catalog gestita tables.
Table il percorso: questo sistema table si trova in system.storage.predictive_optimization_operations_history
.
Considerazioni sul recapito
- Il popolamento dei dati può richiedere fino a 24 ore.
- L'ottimizzazione predittiva potrebbe eseguire più operazioni nello stesso cluster. In tal caso, la condivisione di DPU attribuite a ognuna delle più operazioni è approssimativa. Questo è il motivo per cui il
usage_unit
è set perESTIMATED_DBU
. Tuttavia, il numero totale di UNITÀ di database spese nel cluster sarà accurato.
Ottimizzazione predittiva tableschema
Il sistema di cronologia delle operazioni di ottimizzazione predittiva table usa i schemaseguenti:
nome Column | Tipo di dati | Descrizione | Esempio |
---|---|---|---|
account_id |
string | ID dell'account. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID dell'area di lavoro in cui l'ottimizzazione predittiva ha eseguito l'operazione. | 1234567890123456 |
start_time |
timestamp | Ora di avvio dell'operazione. Le informazioni di Timezone vengono registrate alla fine del valore con +00:00 che rappresenta l'ora UTC. |
2023-01-09 10:00:00.000+00:00 |
end_time |
timestamp | Ora di fine dell'operazione. Le informazioni di Timezone vengono registrate alla fine del valore con +00:00 che rappresenta l'ora UTC. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
string | Nome del metastore al quale appartiene il table ottimizzato. | metastore |
metastore_id |
string | ID del metastore a cui appartiene il table ottimizzato. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
catalog_name |
string | Nome del catalog cui appartiene il table ottimizzato. | catalog |
schema_name |
string | Nome del schema cui appartiene il table ottimizzato. | schema |
table_id |
string | ID del tableottimizzato. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
string | Nome del tableottimizzato. | table1 |
operation_type |
string | Operazione di ottimizzazione eseguita. Il valore sarà COMPACTION , VACUUM , ANALYZE o CLUSTERING . |
COMPACTION |
operation_id |
string | ID per l'operazione di ottimizzazione. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
string | Stato dell'operazione di ottimizzazione. Il valore sarà SUCCESSFUL o FAILED: INTERNAL_ERROR . |
SUCCESSFUL |
operation_metrics |
map[string, string] | Dettagli aggiuntivi sull'ottimizzazione specifica eseguita. Vedere Metriche delle operazioni. | {"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 | Unità di utilizzo che questa operazione ha incorrere. Può essere un solo valore: ESTIMATED_DBU . |
ESTIMATED_DBU |
usage_quantity |
decimale | Quantità dell'unità di utilizzo utilizzata da questa operazione. | 2.12 |
Metriche operative
Le metriche registrate nella operation_metrics
column variano a seconda del tipo di operazione:
-
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
Query di esempio
Le sezioni seguenti includono query di esempio che è possibile usare per ottenere informazioni dettagliate sul sistema di ottimizzazione predittiva table. Per il funzionamento di queste query, è necessario sostituire il parametro values con il proprio values.
Questo articolo include le query di esempio seguenti:
- Quanti DPU stimati hanno usato l'ottimizzazione predittiva negli ultimi 30 giorni?
- In quale tables l'ottimizzazione predittiva ha speso di più negli ultimi 30 giorni (costo stimato)?
- Su quale tables l'ottimizzazione predittiva esegue il maggior numero di operazioni?
- Per un determinato catalog, quanti byte totali sono stati compattati?
- Quale tables ha avuto il maggior numero di byte puliti?
- Qual è la frequenza di successo per le operazioni eseguite dalle ottimizzazioni predittive?
Quanti DPU stimati hanno usato l'ottimizzazione predittiva negli ultimi 30 giorni?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
In quale tables l'ottimizzazione predittiva ha speso di più negli ultimi 30 giorni (costo stimato)?
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
Su quale tables l'ottimizzazione predittiva esegue più operazioni?
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
Per un determinato catalog, quanti byte totali sono stati compattati?
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
Quali tables hanno avuto il maggior numero di byte ripuliti?
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
Qual è la frequenza di successo per le operazioni eseguite dalle ottimizzazioni predittive?
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