.alter materialized-view
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Модифицирование материализованного представления можно использовать для изменения запроса материализованного представления, сохраняя при этом существующие данные в представлении.
Предупреждение
Будьте осторожны при изменении материализованного представления. Неправильное использование может привести к потере данных.
Разрешения
Для выполнения этой команды необходимо иметь по крайней мере разрешения администратора материализованного представления.
Синтаксис
.alter
materialized-view
[ with
(
PropertyName =
PropertyValue,
...)
] Запрос SourceTableName MaterializedViewName on table
{
}
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
PropertyName, PropertyValue | string |
Список свойств в виде пар имен и значений из списка поддерживаемых свойств. | |
MaterializedViewName | string |
✔️ | Имя материализованного представления. |
SourceTableName | string |
✔️ | Имя исходной таблицы, для которой определено представление. |
Запрос | string |
✔️ | Определение запроса материализованного представления. |
Поддерживаемые свойства
Следующие свойства поддерживаются в предложении with
(
PropertyName =
PropertyValue)
. Все свойства являются необязательными.
Имя. | Тип | Описание |
---|---|---|
обратная обратная связь | timespan |
Допустимо только для arg_max //arg_min take_any материализованных представлений. Он ограничивает период времени, в течение которого ожидаются дубликаты. Например, если в представлении указан arg_max обратный просмотр 6 часов, дедупликация между недавно приемными записями и существующими будут принимать во внимание только записи, которые были приема до 6 часов назад. Lookback относительно ingestion_time . Неправильное определение периода обратного просмотра может привести к дубликатам в материализованном представлении. Например, если запись для определенного ключа будет приемлена через 10 часов после приема записи для того же ключа, а обратный просмотр имеет значение 6 часов, этот ключ будет дублироваться в представлении. Период обратного просмотра применяется как во время материализации, так и во время запроса. |
autoUpdateSchema | bool |
Следует ли автоматически обновлять представление в исходной таблице. По умолчанию — false . Этот параметр действителен только для представлений типа arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (только если аргумент столбца равен).* Если этот параметр задан true , изменения исходной таблицы будут автоматически отражены в материализованном представлении. |
dimensionTables | array | Динамический аргумент, содержащий массив таблиц измерений в представлении. См . параметр запроса. |
папку | string |
Папка материализованного представления. |
docString | string |
Строка, которая документирует материализованное представление. |
Возвраты
Схема вывода:
Имя. | Тип | 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 |
Интервал времени, ограничивающий период времени, в течение которого ожидаются дубликаты. |
Примеры
Изменение определения запроса материализованного представления
Следующая команда изменяет определение запроса материализованного представления 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 Id
T | summarize Count=count() by Id
count_
Count
, который изначально содержит только значения NULL.
Влияние на существующие данные:
- Изменение материализованного представления не влияет на существующие данные.
- Добавление фильтров в запрос применяется только к недавно принятым записям и не изменяет записи, которые уже были материализованы.
- Новые столбцы получают значения NULL для всех существующих записей, пока записи не будут приниматься после изменения значений NULL.
- Например: представление
T | summarize count() by bin(Timestamp, 1d)
измененоT | summarize count(), sum(Value) by bin(Timestamp, 1d)
на . Для конкретного объектаTimestamp=T
, для которого записи уже были обработаны перед изменением представления,sum
столбец содержит частичные данные. Это представление включает только записи, обработанные после изменения.