Dokumentacja tabeli systemu optymalizacji predykcyjnej
Ważne
Ta tabela systemowa jest dostępna w publicznej wersji zapoznawczej. Aby uzyskać dostęp do tabeli, schemat musi być włączony w system
katalogu. Aby uzyskać więcej informacji, zobacz Włączanie schematów tabel systemowych.
Uwaga
Aby mieć dostęp do tej tabeli, należy włączyć storage
schemat (zobacz Włączanie schematów tabel systemowych), a region musi obsługiwać optymalizację predykcyjną (zobacz Regiony usługi Azure Databricks).
W tym artykule opisano schemat tabeli historii operacji optymalizacji predykcyjnej i przedstawiono przykładowe zapytania. Optymalizacja predykcyjna optymalizuje układ danych pod kątem szczytowej wydajności i wydajności kosztów. Tabela systemowa śledzi historię operacji tej funkcji. Aby uzyskać informacje na temat optymalizacji predykcyjnej, zobacz Optymalizacja predykcyjna dla tabel zarządzanych przez wykaz aparatu Unity.
Ścieżka tabeli: ta tabela systemowa znajduje się w lokalizacji system.storage.predictive_optimization_operations_history
.
Zagadnienia dotyczące dostarczania
- Wypełnienie danych może potrwać do 24 godzin.
- Optymalizacja predykcyjna może uruchamiać wiele operacji w tym samym klastrze. Jeśli tak, udział jednostek DBU przypisany do każdej z wielu operacji jest przybliżony.
usage_unit
Dlatego parametr ma wartośćESTIMATED_DBU
. Mimo to łączna liczba jednostek DBU wydanych na klaster będzie dokładna.
Schemat tabeli optymalizacji predykcyjnej
Tabela systemu historii operacji optymalizacji predykcyjnej używa następującego schematu:
Nazwa kolumny | Typ danych | opis | Przykład |
---|---|---|---|
account_id |
string | Identyfikator konta. | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | Identyfikator obszaru roboczego, w którym uruchomiono operację optymalizacji predykcyjnej. | 1234567890123456 |
start_time |
timestamp | Godzina rozpoczęcia operacji. Informacje o strefie czasowej są rejestrowane na końcu wartości reprezentującej +00:00 czas UTC. |
2023-01-09 10:00:00.000+00:00 |
end_time |
timestamp | Godzina zakończenia operacji. Informacje o strefie czasowej są rejestrowane na końcu wartości reprezentującej +00:00 czas UTC. |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
string | Nazwa magazynu metadanych, do którego należy zoptymalizowana tabela. | metastore |
catalog_name |
string | Nazwa katalogu, do którego należy zoptymalizowana tabela. | catalog |
schema_name |
string | Nazwa schematu, do którego należy zoptymalizowana tabela. | schema |
table_id |
string | Identyfikator zoptymalizowanej tabeli. | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
string | Nazwa zoptymalizowanej tabeli. | table1 |
operation_type |
string | Operacja optymalizacji, która została wykonana. Wartość będzie mieć COMPACTION wartość , VACUUM lub CLUSTERING . |
COMPACTION |
operation_id |
string | Identyfikator operacji optymalizacji. | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
string | Stan operacji optymalizacji. Wartość będzie mieć SUCCESSFUL wartość lub FAILED: INTERNAL_ERROR . |
SUCCESSFUL |
operation_metrics |
map[ciąg, ciąg] | Dodatkowe szczegóły dotyczące określonej optymalizacji, która została wykonana. Zobacz Metryki operacji. | {"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 | Jednostka użycia, jaką poniosła ta operacja. Może być tylko jedną wartością: ESTIMATED_DBU . |
ESTIMATED_DBU |
usage_quantity |
decimal | Ilość jednostki użycia, która została użyta przez tę operację. | 2.12 |
Metryki operacji
Metryki zarejestrowane w operation_metrics
kolumnie różnią się w zależności od typu operacji:
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
Przykładowe zapytania
Poniższe sekcje zawierają przykładowe zapytania, których można użyć, aby uzyskać wgląd w tabelę systemu optymalizacji predykcyjnej. Aby te zapytania działały, należy zastąpić wartości w nawiasach klamrowych {{}}
własnymi parametrami.
Ten artykuł zawiera następujące przykładowe zapytania:
- Ile jednostek DBU korzysta z optymalizacji predykcyjnej w ciągu ostatnich 30 dni?
- W których tabelach optymalizacja predykcyjna spędziła najwięcej w ciągu ostatnich 30 dni?
- W jakich tabelach optymalizacja predykcyjna wykonuje najwięcej operacji?
- Ile bajtów w danym wykazie zostało skompaktowanych?
- Jakie tabele miały najwięcej bajtów opróżnionych?
- Jaki jest współczynnik powodzenia operacji uruchamianych przez optymalizacje predykcyjne?
Ile szacowanych jednostek DBU korzysta z optymalizacji predykcyjnej w ciągu ostatnich 30 dni?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
W których tabelach optymalizacja predykcyjna wydała najwięcej w ciągu ostatnich 30 dni (szacowany koszt)?
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
W jakich tabelach optymalizacja predykcyjna wykonuje najwięcej operacji?
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
Ile bajtów w danym wykazie zostało skompaktowanych?
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
Jakie tabele miały najwięcej bajtów opróżnionych?
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
Jaki jest współczynnik powodzenia operacji uruchamianych przez optymalizacje predykcyjne?
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