Referenz zur Systemtabelle für die prädiktive Optimierung
Wichtig
Diese Systemtabelle befindet sich in der Public Preview. Um auf die Tabelle zuzugreifen, muss das Schema in Ihrem system
Katalog aktiviert sein. Weitere Informationen finden Sie unter Aktivieren des Systemtabellenschemas.
Hinweis
Für den Zugriff auf diese Tabelle müssen Sie das storage
-Schema aktivieren (siehe Aktivieren von Systemtabellenschemas), und Ihre Region muss die Vorhersageoptimierung unterstützen (siehe Azure Databricks-Regionen).
In diesem Artikel wird das Schema der Verlaufstabelle für die prädiktive Optimierung beschrieben, und es werden Beispielabfragen bereitgestellt. Die prädiktive Optimierung optimiert Ihr Datenlayout für Spitzenleistung und Kosteneffizienz. Die Systemtabelle verfolgt den Vorgangsverlauf dieses Features. Informationen zur prädiktiven Optimierung finden Sie unter Prädiktive Optimierung für verwaltete Unity Catalog-Tabellen.
Tabellenpfad: Diese Systemtabelle befindet sich unter system.storage.predictive_optimization_operations_history
.
Überlegungen zur Übermittlung
- Daten können bis zu 24 Stunden lang aufgefüllt werden.
- Die prädiktive Optimierung kann mehrere Vorgänge im selben Cluster ausführen. In diesem Fall wird der Anteil der DBUs geschätzt, die jedem der verschiedenen Vorgänge zugeordnet sind. Aus diesem Grund ist
usage_unit
aufESTIMATED_DBU
festgelegt. Dennoch ist die Gesamtanzahl der für den Cluster aufgewendeten DBUs genau.
Tabellenschema für die prädikative Optimierung
In der Systemtabelle für den Verlauf der prädiktiven Optimierung wird das folgende Schema verwendet:
Spaltenname | Datentyp | Beschreibung | Beispiel |
---|---|---|---|
account_id |
Zeichenfolge | ID des Kontos | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
Zeichenfolge | ID des Arbeitsbereichs, in dem die prädiktive Optimierung den Vorgang ausgeführt hat | 1234567890123456 |
start_time |
timestamp | Zeitpunkt, zu dem der Vorgang gestartet wurde Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die UTC darstellt. |
2023-01-09 10:00:00.000+00:00 |
end_time |
Zeitstempel | Zeitpunkt, zu dem der Vorgang beendet wurde Zeitzoneninformationen werden am Ende des Werts aufgezeichnet, wobei +00:00 die UTC darstellt. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
Zeichenfolge | Name des Metastores, zu dem die optimierte Tabelle gehört | metastore |
catalog_name |
Zeichenfolge | Name des Katalogs, zu dem die optimierte Tabelle gehört | catalog |
schema_name |
Zeichenfolge | Name des Schemas, zu dem die optimierte Tabelle gehört | schema |
table_id |
Zeichenfolge | ID der optimierten Tabelle | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
Zeichenfolge | Name der optimierten Tabelle | table1 |
operation_type |
Zeichenfolge | Optimierungsvorgang, der ausgeführt wurde. Der Wert ist COMPACTION , , VACUUM oder CLUSTERING . |
COMPACTION |
operation_id |
Zeichenfolge | ID für den Optimierungsvorgang | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
Zeichenfolge | Status des Optimierungsvorgangs. Der Wert ist SUCCESSFUL oder FAILED: INTERNAL_ERROR . |
SUCCESSFUL |
operation_metrics |
map[string, string] | Weitere Details zur spezifischen Optimierung, die ausgeführt wurde. Siehe Vorgangsmetriken. | {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"} |
usage_unit |
Zeichenfolge | Die Verbrauchseinheit, die für diesen Vorgang entstanden ist. Kann nur einen Wert haben: ESTIMATED_DBU . |
ESTIMATED_DBU |
usage_quantity |
Decimal | Menge der Verwendungseinheit, die von diesem Vorgang verwendet wurde | 2.12 |
Vorgangsmetriken
Die in der operation_metrics
Spalte aufgezeichneten Metriken variieren je nach Vorgangstyp:
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
CLUSTERING
:number_of_removed_files
,number_of_clustered_files
,amount_of_data_removed_bytes
amount_of_clustered_data_bytes
Beispielabfragen
Die folgenden Abschnitte enthalten Beispielabfragen, mit denen Sie Erkenntnisse zur Systemtabelle der prädiktiven Optimierung gewinnen können. Damit diese Abfragen funktionieren, müssen Sie die Werte in geschweiften Klammern {{}}
durch Ihre eigenen Parameter ersetzen.
Dieser Artikel enthält die folgenden Beispielabfragen:
- Wie viele DBUs wurden in den letzten 30 Tagen für die prädiktive Optimierung verbraucht?
- In welchen Tabellen hat die prädiktive Optimierung in den letzten 30 Tagen die meisten aufgewendet?
- In welchen Tabellen führt die prädiktive Optimierung die meisten Vorgänge aus?
- Für einen bestimmten Katalog: Wie viele Bytes wurden komprimiert?
- In welchen Tabellen wurden die meisten Bytes bereinigt?
- Wie hoch ist die Erfolgsquote für Vorgänge, die bei der prädiktiven Optimierung ausgeführt werden?
Wie viele DBUs wurden in den letzten 30 Tagen für die prädiktive Optimierung schätzungsweise verbraucht?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
In welchen Tabellen hat die prädiktive Optimierung in den letzten 30 Tagen die meisten aufgewendet (geschätzte Kosten)?
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 welchen Tabellen führt die prädiktive Optimierung die meisten Vorgänge aus?
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
Für einen bestimmten Katalog: Wie viele Bytes wurden komprimiert?
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
In welchen Tabellen wurden die meisten Bytes bereinigt?
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
Wie hoch ist die Erfolgsquote für Vorgänge, die bei der prädiktiven Optimierung ausgeführt werden?
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