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


.изменить материализованное-представление

Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer

Модифицирование материализованного представления можно использовать для изменения запроса материализованного представления, сохраняя при этом существующие данные в представлении.

Предупреждение

Будьте осторожны при изменении материализованного представления. Неправильное использование может привести к потере данных.

Разрешения

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

Синтаксис

.alter materialized-view [ with(PropertyName= PropertyValue,...)] Запрос SourceTableName MaterializedViewNameon table{}

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

Параметры

Имя (название) Type Обязательно Описание
PropertyName, PropertyValue string Список свойств в виде пар имен и значений из списка поддерживаемых свойств.
MaterializedViewName string ✔️ Имя материализованного представления.
SourceTableName string ✔️ Имя исходной таблицы, для которой определено представление.
Запрос string ✔️ Определение запроса материализованного представления.

Поддерживаемые свойства

Следующие свойства поддерживаются в предложении with(PropertyName=PropertyValue). Все свойства являются необязательными.

Имя (название) Type Описание
обратная обратная связь timespan Период времени, ограничивающий период, в течение которого ожидаются повторяющиеся или обновления. Дополнительные сведения см. в разделе о периоде Lookback.
lookback_column string string Столбец в представлении, который служит ссылкой для периода обратного просмотра. Если значение lookback_column не определено, период обратного просмотра вычисляется на основе ingestion_time(). Если он lookback_column уже определен, его значение не может быть изменено. Дополнительные сведения см. в разделе о периоде Lookback.
autoUpdateSchema bool Следует ли автоматически обновлять представление в исходной таблице. По умолчанию — false. Этот параметр действителен только для представлений типа arg_max(Timestamp, *)/arg_min(Timestamp, *)/take_any(*) (только если аргумент столбца равен).* Если этот параметр задан true, изменения исходной таблицы автоматически отражаются в материализованном представлении.
dimensionTables array Динамический аргумент, содержащий массив таблиц измерений в представлении. См . параметр запроса.
папку string Папка материализованного представления.
docString string Строка, которая документирует материализованное представление.

Возвраты

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

Имя (название) Type Описание
Имя (название) 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 Период времени, ограничивающий период, в течение которого ожидаются повторяющиеся или обновления. Дополнительные сведения см. в разделе о периоде Lookback.
LookbackColumn string string Столбец в представлении, который служит ссылкой для периода обратного просмотра. Если этот столбец пуст, но lookback имеет значение, то материализованное представление использует обратный просмотр по умолчанию. Дополнительные сведения см. в разделе о периоде Lookback.

Примеры

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

Изменение определения запроса материализованного представления

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

.alter materialized-view MyView on table MyTable
{
    MyTable | summarize arg_max(Column3, *) by Column1
}

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

Имя (название) SourceTable Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Папка DocString AutoUpdateSchema EffectiveDateTime Ретроспективный обзор
MyView MyTable MyTable | суммирование 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

Случаи использования

  • Добавьте агрегаты в представление , например, добавьте avg агрегирование T | summarize count(), min(Value) by Idв , изменив запрос T | summarize count(), min(Value), avg(Value) by Idпредставления на .
  • Изменение операторов, отличных от оператора суммирование. Например, отфильтруйте некоторые записи, изменив T | summarize arg_max(Timestamp, *) by User их T | where User != 'someone' | summarize arg_max(Timestamp, *) by Userв .
  • Изменение без изменений в запросе из-за изменения исходной таблицы. Например, предположим, что представление T | summarize arg_max(Timestamp, *) by Idне задано autoUpdateSchema (см .create materialized-view . команду). Если столбец добавляется или удаляется из исходной таблицы представления, представление автоматически отключается. Выполните команду alter с тем же запросом, чтобы изменить схему материализованного представления, чтобы выровнять новую схему таблицы. Представление по-прежнему должно быть явно включено после изменения с помощью команды включения материализованного представления .

Ограничения

  • Изменения не поддерживаются:

    • Изменения в материализованной группе представлений по выражениям.
    • Изменение типа столбца.
    • Переименование столбцов. Например, изменение представления для удаления столбца и создание нового столбца T | summarize count() by IdT | summarize Count=count() by Idcount_Count, который изначально содержит только значения NULL.
  • Влияние на существующие данные:

    • Изменение материализованного представления не влияет на существующие данные.
    • Добавление фильтров в запрос применяется только к недавно принятым записям и не изменяет записи, которые уже были материализованы.
      • Новые столбцы получают значения NULL для всех существующих записей, пока записи не будут приниматься после изменения значений NULL.
      • Например: представление T | summarize count() by bin(Timestamp, 1d) изменено T | summarize count(), sum(Value) by bin(Timestamp, 1d)на . Для конкретного объекта Timestamp=T , для которого записи уже были обработаны перед изменением представления, sum столбец содержит частичные данные. Это представление включает только записи, обработанные после изменения.