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


Операции обновления для материализованных представлений

Внимание

Материализованные представления в Databricks SQL находятся в общедоступной предварительной версии.

Материализованные представления — это объекты базы данных, содержащие результаты SQL-запроса к одной или нескольким базовым таблицам. Некоторые материализованные представления можно постепенно обновлять, автоматически и постепенно распространять изменения из базовых таблиц.

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

Примечание.

Чтобы создать и использовать материализованные представления, рабочая область должна соответствовать требованиям.

Типы обновления

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

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

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

Поддержка добавочного обновления для материализованного представления

В следующей таблице перечислены поддержку добавочного обновления ключевым словом ИЛИ предложением SQL. Ключевые слова и предложения, помеченные звездочкой (*), требуют включения отслеживания строк для добавочного обновления. См. раздел "Использование отслеживания строк" для таблиц Delta.

Ключевое слово или предложение SQL Поддержка добавочного обновления
SELECT Выражения* Да, поддерживаются выражения, включая детерминированные встроенные функции и неизменяемые определяемые пользователем функции .UDFs.
GROUP BY Да
WITH Да, поддерживаются распространенные табличные выражения.
UNION ALL* Да
FROM Поддерживаемые базовые таблицы включают разностные таблицы, материализованные представления и потоковые таблицы.
WHERE, HAVING* Предложения фильтров, такие как WHERE и HAVING поддерживаются.
INNER JOIN* Да
LEFT OUTER JOIN Да
FULL OUTER JOIN Да
RIGHT OUTER JOIN Да
OVER Да. PARTITION_BY столбцы должны быть указаны для добавочной обработки в функциях окна.
QUALIFY Да
EXPECTATIONS № Материализованные представления, использующие ожидания, всегда полностью обновляются.

Примечание.

Недетерминированные функции, например, CURRENT_TIMESTAMPне поддерживаются.