REFRESH (MATERIALIZED VIEW или STREAMING TABLE)
Область применения: Databricks SQL
Обновите данные для потоковой таблицы или материализованного представления. Данные обновляются синхронно по умолчанию.
Вы можете отслеживать состояние обновления, выполнив DESCRIBE EXTENDED
.
Примечание.
Операции создания и обновления материализованных представлений и потоковых таблиц используются бессерверным конвейером DLT. Обозреватель каталогов можно использовать для просмотра сведений о резервных конвейерах в пользовательском интерфейсе. См. Что такое Catalog Explorer?.
Синтаксис
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name [ FULL | { SYNC | ASYNC }]
Параметры
-
Определяет материализованное представление или потоковую таблицу для обновления. Имя не должно включать темпоральную спецификацию или спецификацию опций. Если объект не удается найти Azure Databricks, возникает ошибка TABLE_OR_VIEW_NOT_FOUND .
ПОЛНОЕ
Следует ли выполнять полное обновление.
- Для материализованных представлений полное обновление обрабатывает все данные, доступные в источнике.
- Для таблиц потоковой передачи полное обновление усекает таблицу и обрабатывает все данные, доступные в источнике с последней версией определения таблицы потоковой передачи.
Не рекомендуется вызывать полные обновления на источниках, которые не содержат всю историю данных или имеют короткие периоды хранения, таких как Kafka, поскольку полное обновление приводит к усечению существующих данных. Возможно, вы не сможете восстановить старые данные, если данные больше не доступны в источнике.
SYNC
Следует ли выполнять синхронное обновление. Команда блокируется до тех пор, пока не будет создано материализованное представление или потоковая таблица и не завершится начальная загрузка данных.
Это поведение принимается по умолчанию.
ASYNC
Следует ли выполнять асинхронное обновление, которое запускает фоновое задание в DLT. Команда возвращается непосредственно перед завершением загрузки данных со ссылкой на конвейер DLT, который поддерживает материализованное представление или потоковую таблицу. Чтобы просмотреть состояние обновления, перейдите по ссылке.
Вы должны указать
ASYNC
, если хотите выполнять асинхронное обновление. Операция выполняется синхронно, если ключевое слово не указано.
Примеры
-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;
-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;
-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH STREAMING TABLE cat.db.st_name FULL;