Tabella di riferimento del sistema di ottimizzazione predittiva
Importante
Questa tabella di sistema si trova in anteprima pubblica. Per accedere alla tabella, lo schema deve essere abilitato nel catalogo system
. Per ulteriori informazioni, vedere Abilita gli schemi delle tabelle di sistema.
Nota
Per avere accesso a questa tabella, è necessario abilitare lo schema storage
(vedere Abilitare gli schemi di tabella di sistema) e l'area deve supportare l'ottimizzazione predittiva (vedere aree di Azure Databricks).
Questo articolo descrive lo schema della tabella della cronologia delle operazioni di ottimizzazione predittiva e fornisce query di esempio. L'ottimizzazione predittiva ottimizza il layout dei dati per migliorare le prestazioni e l'efficienza dei costi. La tabella di sistema tiene traccia della cronologia delle operazioni di questa funzionalità. Per informazioni sull'ottimizzazione predittiva, vedere Ottimizzazione predittiva per le tabelle gestite del Catalogo Unity.
percorso tabella: questa tabella di sistema 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
è impostato suESTIMATED_DBU
. Tuttavia, il numero totale di UNITÀ di database spese nel cluster sarà accurato.
Schema della tabella di ottimizzazione predittiva
La tabella di sistema della cronologia delle operazioni di ottimizzazione predittiva usa lo schema seguente:
Nome colonna | 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 sul fuso orario 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 sul fuso orario 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 cui appartiene la tabella ottimizzata. | metastore |
metastore_id |
string | ID del metastore a cui appartiene la tabella ottimizzata. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
catalog_name |
string | Nome del catalogo a cui appartiene la tabella ottimizzata. | catalog |
schema_name |
string | Nome dello schema a cui appartiene la tabella ottimizzata. | schema |
table_id |
string | ID della tabella ottimizzata. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
string | Nome della tabella ottimizzata. | 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 colonna operation_metrics
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 sulla tabella del sistema di ottimizzazione predittiva. Per il funzionamento di queste query, è necessario sostituire i valori dei parametri con i propri valori.
Questo articolo include le query di esempio seguenti:
- Quanti DPU stimati hanno usato l'ottimizzazione predittiva negli ultimi 30 giorni?
- In quali tabelle l'ottimizzazione predittiva ha speso maggiormente negli ultimi 30 giorni (costo stimato)?
- Sulle quali tabelle l'ottimizzazione predittiva esegue la maggior parte delle operazioni?
- Per un determinato catalogo, quanti byte totali sono stati compattati?
- Quali tabelle avevano più byte ripuliti?
- 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 quali tabelle l'ottimizzazione predittiva ha speso maggiormente 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 quali tabelle viene eseguite la maggior parte delle operazioni di ottimizzazione predittiva?
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 catalogo, 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 tabelle hanno avuto il maggior numero di byte liberati?
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