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


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

Примечание.

Для всех учетных записей, созданных после 11 ноября 2024 г., Databricks включает прогнозную оптимизацию по умолчанию.

Прогнозная оптимизация устраняет необходимость вручную управлять операциями обслуживания для Unity Catalog управляемых tables в Azure Databricks.

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

Внимание

Прогнозная оптимизация выполняется только в Unity Catalog, управляемой tables.

Прогнозная оптимизация не выполняется для потоковой tables или материализованной views, созданных с использованием Databricks SQL или конвейеров Delta Live Tables.

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

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

Операция Description
OPTIMIZE (1) Активирует добавочную кластеризацию для включенных tables. См. Использование кластеризации жидкости для Delta tables.

Повышает производительность запросов, оптимизируя размеры файлов. См. структуру файла данных Optimize.
VACUUM Сокращает затраты на хранилище путем удаления файлов данных, на которые больше не ссылается table. См. неиспользуемые файлы данных Remove с vacuum.
ANALYZE (2) Активирует добавочную update статистики для повышения производительности запросов.

(1)OPTIMIZE не выполняется ZORDER при выполнении с прогнозной оптимизацией.

(2) Прогнозная оптимизация с ANALYZE общедоступной предварительной версией. Используйте эту форму для регистрации в общедоступной предварительной версии. Во время начальной общедоступной предварительной версии команды ANALYZE могут выполняться на tables с 500 columns или меньше.

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

Сохранение window для команды VACUUM определяется свойством delta.deletedFileRetentionDurationtable, значение которого по умолчанию составляет 7 дней. Это означает, что VACUUM удаляет файлы данных, на которые больше не ссылается версия Delta table за последние 7 дней. Если вы хотите хранить данные дольше (например, для поддержки перемещения по времени в течение длительного времени), необходимо set это свойство table соответствующим образом, прежде чем включить прогнозную оптимизацию, как показано в следующем примере:

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

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

Прогнозная оптимизация определяет tables, которые могут извлечь выгоду из операций ANALYZE, OPTIMIZEи VACUUM и помещает их в очередь на выполнение с использованием бессерверных вычислений для заданий. Ваша учетная запись взимается за вычислительные ресурсы, связанные с этими рабочими нагрузками, с помощью номера SKU, относящийся к управляемым службам Databricks. См. цены на управляемые службы Databricks. Azure Databricks предоставляет систему tables для наблюдения операций прогнозной оптимизации, затратами и их воздействием. См. Используйте систему tables для отслеживания прогнозной оптимизации.

Предварительные требования для прогнозной оптимизации

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

  • Рабочая область Azure Databricks должна находиться в плане "Премиум" в регионе, поддерживающем прогнозную оптимизацию. Ознакомьтесь с регионами Azure Databricks.

  • При включении прогнозной оптимизации необходимо использовать хранилища SQL или Databricks Runtime 12.2 LTS или более поздней версии.

  • Поддерживаются только Unity Catalog, управляемые tables.

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

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

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

Примечание.

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

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

Объект Unity Catalog Privilege
Учетная запись Администратор учетной записи
Catalog владелец Catalog
Schema владелец Schema

Примечание.

При первом включении прогнозной оптимизации Azure Databricks автоматически создает субъект-службу в учетной записи Azure Databricks. Azure Databricks использует этот субъект-службу для выполнения запрошенных операций обслуживания. См. статью Управление субъектами-службами.

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

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

  1. Доступ к консоли учетных записей.
  2. Перейдите к параметрам, а затем включите функцию.
  3. Select включена рядом с прогнозной оптимизацией.

Примечание.

Metastores в регионах, которые не поддерживают прогнозную оптимизацию, не активирован.

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

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

Примечание.

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

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

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

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

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

Внимание

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

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

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Используйте систему tables для отслеживания прогнозной оптимизации

Azure Databricks предоставляет систему table для отслеживания истории операций прогнозной оптимизации. См. справочныесистемы прогнозной оптимизации .

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

Ограничения

Прогнозная оптимизация недоступна во всех регионах. Ознакомьтесь с регионами Azure Databricks.

Прогнозная оптимизация не выполняет команды OPTIMIZE в tables, использующие Z-порядок.

Прогнозная оптимизация не выполняет операции VACUUM на tables с сохранением файлов window, настроенным меньше значения по умолчанию 7 дней. Сведения о настройке хранения данных для запросов на поездки по времени.

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