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


.disable | .enable materialized-view

Отключает или включает процесс материализации для материализованного представления.

Примечание.

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

Разрешения

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

Синтаксис

.enable | disablematerialized-view MaterializedViewName

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
MaterializedViewName string ✔️ Имя материализованного представления.

Возвраты

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

В противном случае возвращает сведения о материализованном представлении, свойство IsEnabled которого было изменено.

Схема вывода:

Имя. Тип Description
Имя. string Имя материализованного представления.
SourceTable string Имя исходной таблицы, для которой определено представление.
Query string Определение запроса материализованного представления.
MaterializedTo datetime Максимальная материализованная ingestion_time() метка времени в исходной таблице. Дополнительные сведения см. в статье о работе материализованных представлений.
LastRun datetime В последний раз была запущена материализация.
LastRunResult string Результат последнего выполнения. Возвращается Completed для успешных запусков, в противном случае Failed.
IsHealthy bool true Если представление считается работоспособным, false в противном случае. Представление считается здоровым, если оно было успешно материализовано до последнего часа (MaterializedTo больше ago(1h)).
IsEnabled bool true если представление включено (см. раздел "Отключить или включить материализованное представление").
Папка string Папка, в которой создается материализованное представление.
DocString string Описание, назначенное материализованному представлению.
AutoUpdateSchema bool Включается ли представление для автоматического обновления.
EffectiveDateTime datetime Время эффективной даты представления, определенное во время создания (см. раздел .create materialized-view).
Ретроспективный обзор timespan Интервал времени, ограничивающий период времени, в течение которого ожидаются дубликаты.

Примеры

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

Следующая команда включает материализованное представление ViewName:

.enable materialized-view ViewName

Выходные данные

Имя. SourceTable Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Папка DocString AutoUpdateSchema EffectiveDateTime Ретроспективный обзор
ViewName TableName TableName | суммирование arg_max(Column3, *) по столбцу 1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.90333667Z Завершено true true false 2023-02-23T14:01:42.5172342Z

Отключение материализованного представления

Следующая команда отключает материализованное представление ViewName:

.disable materialized-view ViewName

Выходные данные

Имя. SourceTable Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Папка DocString AutoUpdateSchema EffectiveDateTime Ретроспективный обзор
ViewName TableName TableName | суммирование arg_max(Column3, *) по столбцу 1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.90333667Z Завершено true false false 2023-02-23T14:01:42.5172342Z

Замечания

Отключение материализованных представлений

Материализованное представление можно отключить любым из следующих способов:

  • Автоматическое отключение системой: материализованное представление автоматически отключается, если материализация завершается ошибкой. Этот процесс может выполняться в следующих экземплярах:
    • Изменения схемы, несовместимые с определением представления.
    • Изменения исходной таблицы, которая приводит к семантическому семантике запроса к материализованному представлению.
  • Явно отключите материализованное представление: если материализованное представление отрицательно влияет на работоспособность кластера (например, использование слишком большого объема ЦП), отключите представление с помощью .disable materialized-view команды.

Материализованные представления и безопасность на уровне строк

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

  • Определите политику безопасности уровня строк в материализованном представлении.
  • Выберите игнорировать ошибку, добавив allowMaterializedViewsWithoutRowLevelSecurity свойство в команду включения политики. Например:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

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

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