Поделиться через


Прогнозная оптимизация для управляемых таблиц каталога Unity

На этой странице описывается прогнозная оптимизация, которая автоматически выполняет операции обслуживания для управляемых таблиц каталога Unity в Azure Databricks.

Примечание.

Прогнозная оптимизация включена по умолчанию для учетных записей, созданных 11 ноября 2024 г. или после этого. Databricks начал активировать существующие учетные записи 7 мая 2025 года. Это развертывание постепенно и, как ожидается, завершится к апреле 2026 года. Чтобы проверить, включена ли ваша учетная запись, проверьте, включена ли прогнозная оптимизация.

При включенной прогнозной оптимизации Databricks автоматически выполняет следующие действия:

  • Определяет таблицы, которые будут выигрывать от операций обслуживания, и ставит их в очередь для выполнения.
  • Собирает статистику при записи данных в управляемую таблицу.

Это устраняет ненужные операции обслуживания, а также бремя отслеживания и устранения неполадок производительности вручную.

Databricks рекомендует прогнозную оптимизацию для всех управляемых таблиц каталога Unity. Например, автоматическое кластеризование данных использует интеллектуальную оптимизацию распределения данных на основе ваших шаблонов использования данных. См. раздел "Использование кластеризации жидкости" для таблиц.

Какие операции выполняет прогнозная оптимизация?

Прогнозная оптимизация выполняет следующие операции в управляемых таблицах каталога Unity:

Операция Описание
OPTIMIZE Активирует добавочную кластеризацию для включенных таблиц. См. раздел "Использование кластеризации жидкости" для таблиц. Повышает производительность запросов, оптимизируя размеры файлов. См. раздел "Оптимизация макета файла данных".
VACUUM Сокращает затраты на хранилище путем удаления файлов данных, на которые больше не ссылается таблица. См. раздел "Удаление неиспользуемых файлов данных с помощью вакуума".
ANALYZE Активирует добавочное обновление статистики для повышения производительности запросов. См. ...ANALYZE TABLE СТАТИСТИКА ВЫЧИСЛЕНИЙ.

Примечание.

OPTIMIZE не запускается ZORDER при прогнозной оптимизации. В таблицах, использующих Z-порядок, прогнозная оптимизация игнорирует Z-упорядоченные файлы.

Если включена автоматическая кластеризация жидкости, прогнозная оптимизация может выбрать новые ключи кластеризации перед кластеризированием данных. См. автоматическая кластеризация жидкости.

Предупреждение

Окно VACUUM хранения определяется свойством delta.deletedFileRetentionDuration таблицы, которое по умолчанию составляет 7 дней. VACUUM Удаляет файлы данных, на которые больше не ссылается версия таблицы Delta в этом окне. Чтобы сохранить данные в течение длительного времени (например, для поддержки расширенного перемещения по времени), задайте это свойство перед включением прогнозной оптимизации:

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

Вычисления и выставление счетов

Прогнозная оптимизация выполняет операции ANALYZE, OPTIMIZE и VACUUM, используя бессерверные вычисления для заданий. С вашей учетной записи взимается плата за вычислительные ресурсы по номеру SKU для бессерверных заданий.

См. цены на управляемые службы Databricks. См. статью "Отслеживание прогнозной оптимизации" с помощью системных таблиц.

Необходимые условия

Для использования прогнозной оптимизации необходимо выполнить следующие требования:

  • Рабочая область Azure Databricks должна находиться в плане "Премиум " в поддерживаемом регионе.
  • Необходимо использовать хранилища SQL или Databricks Runtime 12.2 LTS или более поздней версии.
  • Поддерживаются только управляемые таблицы каталога Unity.

Включение прогнозной оптимизации

Вы можете включить прогнозную оптимизацию для учетной записи, каталога или схемы. Все управляемые таблицы каталога Unity наследуют значение учетной записи по умолчанию. Вы можете переопределить учетную запись по умолчанию на уровне каталога или схемы.

Для включения или отключения прогнозной оптимизации необходимо иметь следующие привилегии:

Объект каталога Unity Привилегия
Учетная запись Администратор учетной записи
Каталог Владелец каталога
Схема Владелец схемы

Включение или отключение прогнозной оптимизации для учетной записи

Администратор учетной записи может включить прогнозную оптимизацию для всех хранилищ метаданных в учетной записи. Каталоги и схемы наследуют этот параметр по умолчанию, но его можно переопределить на любом уровне.

  1. Перейдите в консоль учетных записей.
  2. Перейдите к параметрам, а затем включите функцию.
  3. Выберите нужный параметр (например, включено) рядом с прогнозной оптимизацией.

Примечание.

  • Хранилища метаданных в регионах, которые не поддерживают прогнозную оптимизацию, не включены.
  • Отключение прогнозной оптимизации на уровне учетной записи не отключает ее для каталогов или схем, которые специально включили его.

Включение или отключение прогнозной оптимизации для каталога или схемы

Прогнозная оптимизация использует модель наследования. При включении для каталога, схемы в этом каталоге наследуют этот параметр, и таблицы в включенной схеме наследуют его также. Вы можете явно включить или отключить прогнозную оптимизацию для каталога или схемы, чтобы переопределить это поведение.

Примечание.

Вы можете отключить прогнозную оптимизацию на уровне каталога или схемы, прежде чем включить ее на уровне учетной записи. Если на уровне учетной записи включена прогнозная оптимизация, она остается заблокированной для таблиц в этих объектах.

Используйте следующий синтаксис, чтобы включить, отключить или сбросить прогнозную оптимизацию для наследования от родительского объекта.

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

Проверка включения прогнозной оптимизации

Поле Predictive Optimization является свойством каталога Unity, которое показывает, включена ли прогнозная оптимизация. Если параметр наследуется от родительского объекта, значение поля указывает на это.

Чтобы проверить состояние, используйте следующий синтаксис:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Отслеживание прогнозной оптимизации с помощью системных таблиц

Databricks предоставляет системную таблицу system.storage.predictive_optimization_operations_history для наблюдения за операциями прогнозной оптимизации, затратами и воздействием. См. справочник по системной таблице прогнозной оптимизации.

Если системная таблица помечает операции как завершившиеся с ошибкой FAILED: PRIVATE_LINK_SETUP_ERROR, это может означать, что бессерверное частное соединение неправильно настроено. См . статью "Настройка частного подключения к ресурсам Azure".

Ограничения

Прогнозная оптимизация не выполняется в следующих типах таблиц:

  • Таблицы, загруженные в рабочую область как получатели Delta Sharing.
  • Внешние таблицы