Dokumentacja tabeli systemu optymalizacji predykcyjnej
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej. Schemat musi być włączony, aby był widoczny 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.
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ść lub VACUUM . |
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. W przypadku operacji COMPACTION: (number_of_compacted_files, amount_of_data_compacted_bytes, number_of_output_files, amount_of_output_data_bytes) W przypadku operacji PRÓŻNIowych: (number_of_deleted_files, amount_of_data_deleted_bytes) | {"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 |
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