.disable | .enable materialized-view

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

Примечание

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

Разрешения

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

Синтаксис

.enable | disablematerialized-viewMaterializedViewName

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

Параметры

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

Возвращаемое значение

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

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

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

Имя Тип Описание
Имя string Имя материализованного представления.
SourceTable string Имя исходной таблицы, в которой определено представление.
Запрос 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 Запрос MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Папка DocString AutoUpdateSchema EffectiveDateTime Ретроспективный обзор
ViewName TableName TableName | summarize arg_max(Column3, *) by Column1 26.02.2023T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Завершено Да true false 23.02.2023T14:01:42.5172342Z

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

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

.disable materialized-view ViewName

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

Имя SourceTable Запрос MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Папка DocString AutoUpdateSchema EffectiveDateTime Ретроспективный обзор
ViewName TableName TableName | summarize arg_max(Column3, *) by Column1 26.02.2023T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Завершено true false false 23.02.2023T14:01:42.5172342Z

Комментарии

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

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

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

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

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

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

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

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