Udostępnij za pośrednictwem


Optymalizacja predykcyjna dla zarządzanego Unity Catalogtables

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 konserwacyjnymi dla Catalog zarządzanych tables silnika Unity w usłudze Azure Databricks.

Po włączeniu optymalizacji predykcyjnej usługa Azure Databricks automatycznie identyfikuje tables, które mogłyby skorzystać 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 środowisku Unity Catalog zarządzanym tables.

Optymalizacja predykcyjna nie działa na strumieniowaniu tables ani na zmaterializowanych views utworzonych w Databricks SQL oraz przy użyciu Delta Live Pipeline Tables.

Jakie operacje są uruchamiane podczas optymalizacji predykcyjnej?

Optymalizacja predykcyjna automatycznie uruchamia następujące operacje dla elementu tables, gdy jest włączony.

Działanie opis
OPTIMIZE (1) Wyzwala klastrowanie przyrostowe dla włączonego tables. Zobacz Użyj grupowania cieczy dla Delta tables.

Zwiększa wydajność zapytań, optymalizując rozmiary plików. Zobacz Optimize układ pliku danych.
VACUUM Zmniejsza koszty magazynowania, usuwając pliki danych, do których nie odwołuje się już table. Zobacz Remove nieużywane pliki danych za pomocą vacuum.
ANALYZE (2) Uaktywnia przyrostowe update 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. Użyj tego formularza , aby zarejestrować się w publicznej wersji zapoznawczej. W początkowej publicznej wersji zapoznawczej polecenia ANALYZE mogą być uruchamiane na tables z maksymalnie 500 columns.

Ostrzeżenie

Okres przechowywania window dla polecenia VACUUM jest określany przez właściwość delta.deletedFileRetentionDurationtable, która domyślnie wynosi 7 dni. Oznacza to, że VACUUM usuwa pliki danych, do których nie odwołuje się już wersja usługi Delta table w ciągu ostatnich 7 dni. Jeśli chcesz przechowywać dane przez dłuższy czas (na przykład, aby umożliwić dłuższy czas podróży w czasie), musisz odpowiednio set tej właściwości table przed włączeniem optymalizacji predykcyjnej, jak w poniższym przykładzie:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Where czy jest uruchamiana optymalizacja predykcyjna?

Optymalizacja predykcyjna identyfikuje tables, które mogą skorzystać z operacji ANALYZE, OPTIMIZEi VACUUM, i umieszcza je w kolejce do uruchomienia 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 system tables zapewniający wgląd w operacje optymalizacji predykcyjnej, koszty i wpływ. Zobacz Użyj systemu tables 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 zarządzane przez Unity Catalogtables.

  • 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 Catalog Unity Privilege
Klient Administrator konta
Catalog właściciel Catalog
Schema właściciel Schema

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 metastores na koncie:

  1. Uzyskaj dostęp do konsoli kont.
  2. Przejdź do pozycji Ustawienia, a następnie włącz funkcję.
  3. Select włączone obok przy optymalizacji predykcyjnej.

Uwaga

Metastores nie są włączone w regionach, które nie obsługują optymalizacji predykcyjnej.

Włączanie lub wyłączanie optymalizacji predykcyjnej dla catalog lub schema

Optymalizacja predykcyjna używa modelu dziedziczenia. Po włączeniu dla catalogschematy dziedziczą właściwość . Tables w aktywnym schema dziedziczą optymalizację predykcyjną. W celu zastąpienia tego zachowania dziedziczenia, można jawnie wyłączyć optymalizację predykcyjną dla catalog lub schema.

Uwaga

Optymalizację predykcyjną można wyłączyć na poziomie catalog lub schema przed włączeniem jej na poziomie konta. Jeśli optymalizacja predykcyjna zostanie później włączona na koncie, zostanie ona zablokowana dla tables 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ą Unity Catalog, która szczegółowo opisuje, czy włączono optymalizację predykcyjną. 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

Użyj systemu tables do śledzenia optymalizacji predykcyjnej

Usługa Azure Databricks udostępnia system table do śledzenia historii operacji optymalizacji predykcyjnej. Zobacz tablesystemu optymalizacji predykcyjnej .

Jeśli system table oznacza operacje z FAILED: PRIVATE_LINK_SETUP_ERRORjako nieudane, być może nie skonfigurowano poprawnie prywatnego łącza 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 poleceń OPTIMIZE w tables, które korzystają z porządku Z.

Optymalizacja predykcyjna nie wykonuje operacji VACUUM na tables, jeśli okres przechowywania plików window jest skonfigurowany poniżej domyślnej wartości 7 dni. Zobacz Konfigurowanie przechowywania danych dla zapytań dotyczących podróży w czasie.

Optymalizacja predykcyjna nie wykonuje operacji konserwacyjnych na następujących elementach tables: