Optymalizacja predykcyjna dla tabel zarządzanych w wykazie aparatu Unity
Uwaga
Dla wszystkich kont utworzonych po 11 listopada 2024 r. usługa Databricks domyślnie włącza optymalizację predykcyjną.
Optymalizacja predykcyjna eliminuje konieczność ręcznego zarządzania operacjami konserwacji dla tabel zarządzanych przez wykaz aparatu Unity w usłudze Azure Databricks.
Po włączeniu optymalizacji predykcyjnej usługa Azure Databricks automatycznie identyfikuje tabele, które korzystają z operacji konserwacji i uruchamia je dla użytkownika. Operacje konserwacji są uruchamiane tylko w razie potrzeby, eliminując zarówno niepotrzebne uruchomienia operacji konserwacji, jak i obciążenia związane ze śledzeniem i rozwiązywaniem problemów z wydajnością.
Ważne
Optymalizacja predykcyjna jest uruchamiana tylko w tabelach zarządzanych przez wykaz aparatu Unity.
Optymalizacja predykcyjna nie jest uruchamiana w tabelach przesyłania strumieniowego ani w zmaterializowanych widokach utworzonych w usłudze Databricks SQL ani przy użyciu potoków delta live tables.
Jakie operacje są uruchamiane podczas optymalizacji predykcyjnej?
Optymalizacja predykcyjna automatycznie uruchamia następujące operacje dla tabel z włączoną obsługą:
Działanie | opis |
---|---|
OPTIMIZE (1) |
Wyzwalacze klastrowania przyrostowego dla tabel z obsługą. Zobacz Użyj płynnego klastrowania dla tabel typu Delta). Zwiększa wydajność zapytań, optymalizując rozmiary plików. Zobacz Optymalizowanie układu pliku danych. |
VACUUM |
Zmniejsza koszty magazynowania, usuwając pliki danych, do których nie odwołuje się tabela. Zobacz Usuwanie nieużywanych plików danych z próżnią. |
ANALYZE (2) |
Wyzwala przyrostowe aktualizowanie statystyk w celu zwiększenia wydajności zapytań. |
(1) OPTIMIZE
nie jest uruchamiana ZORDER
podczas wykonywania przy użyciu optymalizacji predykcyjnej.
(2) Optymalizacja predykcyjna z funkcją ANALYZE
jest dostępna w publicznej wersji zapoznawczej. Obejmuje to inteligentną kolekcję stastistics podczas zapisu. Użyj tego formularza , aby zarejestrować się w publicznej wersji zapoznawczej. Podczas początkowej publicznej wersji zapoznawczej ANALYZE
polecenia mogą być uruchamiane w tabelach z co najmniej 500 kolumnami.
Ostrzeżenie
Okno przechowywania polecenia VACUUM
jest określane przez delta.deletedFileRetentionDuration
właściwość tabeli, która domyślnie wynosi 7 dni. Oznacza VACUUM
to usunięcie plików danych, do których nie odwołuje się już wersja tabeli delty w ciągu ostatnich 7 dni. Jeśli chcesz przechowywać dane dłużej (na przykład w celu obsługi podróży w czasie dłuższym przez dłuższy czas), musisz odpowiednio ustawić tę właściwość tabeli przed włączeniem optymalizacji predykcyjnej, jak w poniższym przykładzie:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Gdzie jest uruchamiana optymalizacja predykcyjna?
Optymalizacja predykcyjna identyfikuje tabele, które mogą korzystać z ANALYZE
operacji i OPTIMIZE
VACUUM
kolejek do uruchamiania przy użyciu bezserwerowych obliczeń dla zadań. Twoje konto jest rozliczane za zasoby obliczeniowe skojarzone z tymi obciążeniami przy użyciu jednostki SKU specyficznej dla usług zarządzanych usługi Databricks. Zobacz cennik usług zarządzanych usługi Databricks. Usługa Azure Databricks udostępnia tabele systemowe umożliwiające wgląd w operacje optymalizacji predykcyjnej, koszty i wpływ. Zobacz Używanie tabel systemowych do śledzenia optymalizacji predykcyjnej.
Wymagania wstępne dotyczące optymalizacji predykcyjnej
Aby włączyć optymalizację predykcyjną, musisz spełnić następujące wymagania:
Obszar roboczy usługi Azure Databricks musi znajdować się w planie Premium w regionie obsługującym optymalizację predykcyjną. Zobacz Regiony usługi Azure Databricks.
Podczas włączania optymalizacji predykcyjnej należy użyć usług SQL Warehouse lub Databricks Runtime 12.2 LTS lub nowszych.
Obsługiwane są tylko tabele zarządzane w wykazie aparatu Unity.
Jeśli potrzebujesz łączności prywatnej dla kont magazynu, musisz skonfigurować bezserwerową łączność prywatną. Zobacz Konfigurowanie łączności prywatnej z zasobów obliczeniowych bezserwerowych.
Włączanie optymalizacji predykcyjnej
Należy włączyć optymalizację predykcyjną na poziomie konta.
Uwaga
Jeśli twoje konto zostało utworzone po 11 listopada 2024 r., optymalizacja predykcyjna jest domyślnie włączona.
Aby włączyć lub wyłączyć optymalizację predykcyjną na określonym poziomie, musisz mieć następujące uprawnienia:
Obiekt wykazu aparatu Unity | Privilege |
---|---|
Klient | Administrator konta |
Wykaz | Właściciel wykazu |
Schemat | Właściciel schematu |
Uwaga
Po pierwszym włączeniu optymalizacji predykcyjnej usługa Azure Databricks automatycznie tworzy jednostkę usługi na koncie usługi Azure Databricks. Usługa Azure Databricks używa tej jednostki usługi do wykonywania żądanych operacji konserwacji. Zobacz Zarządzanie jednostkami usługi.
Włączanie optymalizacji predykcyjnej dla konta
Administrator konta musi wykonać następujące kroki, aby włączyć optymalizację predykcyjną dla wszystkich magazynów metadanych na koncie:
- Uzyskaj dostęp do konsoli kont.
- Przejdź do pozycji Ustawienia, a następnie włącz funkcję.
- Wybierz pozycję Włączone obok pozycji Optymalizacja predykcyjna.
Uwaga
Magazyny metadanych w regionach, które nie obsługują optymalizacji predykcyjnej, nie są włączone.
Włączanie lub wyłączanie optymalizacji predykcyjnej dla wykazu lub schematu
Optymalizacja predykcyjna używa modelu dziedziczenia. Po włączeniu dla wykazu schematy dziedziczą właściwość. Tabele w ramach włączonego schematu dziedziczą optymalizację predykcyjną. Aby zastąpić to zachowanie dziedziczenia, można jawnie wyłączyć optymalizację predykcyjną katalogu lub schematu.
Uwaga
Optymalizację predykcyjną można wyłączyć na poziomie katalogu lub schematu przed włączeniem jej na poziomie konta. Jeśli optymalizacja predykcyjna zostanie później włączona na koncie, zostanie ona zablokowana dla tabel w tych obiektach.
Użyj następującej składni, aby włączyć lub wyłączyć optymalizację predykcyjną:
ALTER CATALOG [catalog_name] {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
ALTER {SCHEMA | DATABASE} schema_name {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
Sprawdzanie, czy optymalizacja predykcyjna jest włączona
Pole Predictive Optimization
jest właściwością wykazu aparatu Unity, która zawiera szczegółowe informacje o włączeniu optymalizacji predykcyjnej. Jeśli optymalizacja predykcyjna jest dziedziczona z obiektu nadrzędnego, jest to wskazane w wartości pola.
Ważne
Aby wyświetlić to pole, należy włączyć optymalizację predykcyjną na poziomie konta.
Użyj następującej składni, aby sprawdzić, czy włączono optymalizację predykcyjną:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Śledzenie optymalizacji predykcyjnej za pomocą tabel systemowych
Usługa Azure Databricks udostępnia tabelę systemową do śledzenia historii operacji optymalizacji predykcyjnej. Zobacz Dokumentację tabeli systemu optymalizacji predykcyjnej.
Komunikat o błędzie łącza prywatnego
Jeśli tabela systemowa oznacza operacje jako nieudane w FAILED: PRIVATE_LINK_SETUP_ERROR
programie , być może nie skonfigurowano poprawnie łącza prywatnego dla obliczeń bezserwerowych. Zobacz Konfigurowanie łączności prywatnej z zasobów obliczeniowych bezserwerowych.
Ograniczenia
Optymalizacja predykcyjna nie jest dostępna we wszystkich regionach. Zobacz Regiony usługi Azure Databricks.
Optymalizacja predykcyjna nie uruchamia OPTIMIZE
poleceń w tabelach korzystających z kolejności Z.
Optymalizacja predykcyjna nie uruchamia VACUUM
operacji w tabelach z oknem przechowywania plików skonfigurowanym poniżej wartości domyślnej 7 dni. Zobacz Konfigurowanie przechowywania danych dla zapytań dotyczących podróży w czasie.
Optymalizacja predykcyjna nie wykonuje operacji konserwacji w następujących tabelach:
- Tabele załadowane do obszaru roboczego jako adresaci udostępniania różnicowego.
- Tabele zewnętrzne.
- Zmaterializowane widoki. Zobacz Używanie zmaterializowanych widoków w usłudze Databricks SQL.
- Tabele przesyłania strumieniowego. Zobacz Ładowanie danych przy użyciu tabel przesyłania strumieniowego w usłudze Databricks SQL.