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 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