Informazioni di riferimento sulla tabella di sistema di ottimizzazione predittiva
Importante
Questa tabella di sistema è disponibile in anteprima pubblica. Per accedere alla tabella, è necessario abilitare lo schema nel catalogo system
. Per altre informazioni, vedere Abilitare gli schemi di tabella di sistema.
Nota
Per avere accesso a questa tabella, è necessario abilitare lo storage
schema (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
usage_unit
motivo per cui è 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 a cui appartiene la tabella ottimizzata. | metastore |
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 operation_metrics
colonna 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 tra parentesi graffe {{}}
con i propri parametri.
Questo articolo include le query di esempio seguenti:
- Quanti DPU hanno usato l'ottimizzazione predittiva negli ultimi 30 giorni?
- In quali tabelle l'ottimizzazione predittiva ha trascorso di più negli ultimi 30 giorni?
- In quali tabelle viene eseguita l'ottimizzazione predittiva che esegue la maggior parte delle operazioni?
- Per un determinato catalogo, quanti byte totali sono stati compattati?
- Quali tabelle avevano il maggior numero di byte a vuoto?
- 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 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
In quali tabelle viene eseguita l'ottimizzazione predittiva che esegue la maggior parte delle 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 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 avevano il maggior numero di byte a vuoto?
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