Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
Добавляет политику обновления в материализованное представление, контролируя время добавочного обновления. Применяется к инструкцииCREATE MATERIALIZED VIEW (pipelines).
Дополнительные сведения о добавочной инкрементализации см. в разделе добавочное обновление для материализованных представлений. Вы можете проверить, является ли SQL-запрос добавочным с помощью инструкции EXPLAIN CREATE MATERIALIZED VIEW в Databricks SQL. См. EXPLAIN CREATE MATERIALIZED VIEW.
Синтаксис
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Параметры
refresh_policy
Определяет политику обновления для материализованного представления. Если опущено
REFRESH POLICY,AUTOиспользуется политика по умолчанию.Политика обновления определяет, как обновление обрабатывает добавочную обработку материализованного представления.
AUTOСистема автоматически выбирает добавочное или полное обновление на основе модели затрат.
Государство Поведение Добавочный доступен для обновления. Использует модель затрат, чтобы определить, какая из них дешевле, добавочная или полная. Добавочный параметр недоступен для обновления. Выполняет полное обновление. Требуется создание или повторная инициализация (например, при изменении схемы) Выполняет полное обновление. INCREMENTALСистема использует добавочные обновления, когда это возможно. Если
CREATEзапрос не может быть добавочным, инструкция create завершается ошибкой.Государство Поведение Добавочный доступен для обновления. Выполняет добавочное обновление. Добавочный параметр недоступен для обновления. Выполняет полное обновление. Требуется создание или повторная инициализация, но добавочная настройка возможна для запроса. Выполняет полное обновление. Требуется создание или повторная инициализация, а добавочная инкрементализация для запроса невозможна. Операция завершается ошибкой. INCREMENTAL STRICTСистема использует добавочные обновления. Если
CREATEзапрос не может быть добавочным, инструкция create завершается ошибкой.Государство Поведение Добавочный доступен для обновления. Выполняет добавочное обновление. Добавочный параметр недоступен для обновления. Обновление завершается ошибкой. Требуется создание или повторная инициализация, но добавочная настройка возможна для запроса. Выполняет полное обновление. Требуется создание или повторная инициализация, а добавочная инкрементализация для запроса невозможна. Операция завершается ошибкой. FULLСистема всегда использует полное обновление.
Государство Поведение Добавочный доступен для обновления. Выполняет полное обновление. Добавочный параметр недоступен для обновления. Выполняет полное обновление. Требуется создание или повторная инициализация. Выполняет полное обновление.
Поведение при сбое
Если обновление завершается ошибкой, так как оно не может соответствовать политике обновления (для REFRESH POLICY INCREMENTAL (STRICT)), система возвращает класс MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE ошибок с подробными сведениями, описывающими причину неуклюжности:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYсо сложными выражениями выше он не поддерживается. -
EXPRESSION_NOT_DETERMINSTIC: недетерминированная функция, напримерRAND, используется в запросе. -
INPUT_NOT_IN_DELTA: один или несколько исходных наборов данных не являются разностными таблицами. -
OPERATOR_NOT_INCREMENTALIZABLE: оператор, например сложное соединение, предотвращает добавочную настройку. -
ROW_TRACKING_NOT_ENABLED: исходные таблицы, требующие отслеживания строк, не включают отслеживание строк. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: одно или несколько вложенных запросов в запросе не являются добавочными. -
UDF_NOT_DETERMINISTIC: один или несколько определяемых пользователем пользователей, используемых в выражении, не помечены как детерминированные. -
WINDOW_WITHOUT_PARTITION_BY: спецификации окон безPARTITION_BYне являются добавочными.
Чтобы понять, что делает запрос добавочным, см. добавочное обновление для материализованных представлений.
Чтобы проверить, является ли SQL-запрос добавочным, используйте инструкцию EXPLAIN CREATE MATERIALIZED VIEW в Databricks SQL. См. EXPLAIN CREATE MATERIALIZED VIEW.
Примеры
-- Create a materialized view with an incremental policy
CREATE OR REFRESH MATERIALIZED VIEW my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;