.alter materialized-view
Модифицирование материализованного представления можно использовать для изменения запроса материализованного представления, сохраняя при этом существующие данные в представлении.
Предупреждение
Будьте особенно осторожны при изменении материализованного представления. Неправильное использование может привести к потере данных.
Разрешения
Для выполнения этой команды необходимо иметь по крайней мере разрешения на Администратор материализованного представления.
Синтаксис
.alter
materialized-view
[ with
(
PropertyName=
PropertyValue,
...)
] MaterializedViewNameon table
SourceTableName{
Запроса}
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
PropertyName, PropertyValue | string |
Список свойств в виде пар "имя- значение" из списка поддерживаемых свойств. | |
MaterializedViewName | string |
✔️ | Имя материализованного представления. |
SourceTableName | string |
✔️ | Имя исходной таблицы, для которой определено представление. |
Запрос | string |
✔️ | Определение запроса материализованного представления. |
Поддерживаемые свойства
В предложении with
(
PropertyName=
PropertyValue)
поддерживаются следующие свойства. Все свойства являются необязательными.
Имя | Тип | Описание |
---|---|---|
обратный взгляд | timespan |
Допустимо только для arg_max //arg_min take_any материализованных представлений. Он ограничивает период времени, в течение которого ожидаются дубликаты. Например, если в представлении указан arg_max обратный просмотр в течение 6 часов, при дедупликации между недавно принимаемыми и существующими записями будут учитываться только записи, которые были приема до 6 часов назад. Обратный просмотр по отношению к ingestion_time . Неправильное определение периода просмотра может привести к дублированию в материализованном представлении. Например, если запись для определенного ключа подается через 10 часов после приема записи для того же ключа, а для обратного просмотра задано значение 6 часов, этот ключ будет дублироваться в представлении. Период обратного просмотра применяется как во время материализации , так и во время запроса. |
autoUpdateSchema | bool |
Указывает, следует ли автоматически обновлять представление при изменении исходной таблицы. По умолчанию — false . Этот параметр допустим только для представлений типа arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (только в том случае, если аргумент столбца имеет значение ).* Если для этого параметра задано значение true , изменения в исходной таблице будут автоматически отражены в материализованном представлении. |
dimensionTables | array | Динамический аргумент, включающий массив таблиц измерений в представлении. См. раздел Параметр запроса. |
folder | string |
Папка материализованного представления. |
docString | string |
Строка, которая документирует материализованное представление. |
Возвращаемое значение
Схема выходных данных:
Имя | Тип | Описание |
---|---|---|
Имя | 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 |
Интервал времени, ограничивающий период времени, в течение которого ожидаются дубликаты. |
Примеры
Изменение определения запроса материализованного представления
Следующая команда изменяет определение запроса материализованного представления MyView:
.alter materialized-view MyView on table MyTable
{
MyTable | summarize arg_max(Column3, *) by Column1
}
Выходные данные
Имя | SourceTable | Запрос | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Папка | DocString | AutoUpdateSchema | EffectiveDateTime | Ретроспективный обзор |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MyView | MyTable | MyTable | 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 |
Варианты использования
- Добавьте агрегаты в представление, например, добавьте
avg
агрегат вT | summarize count(), min(Value) by Id
, изменив запрос представления наT | summarize count(), min(Value), avg(Value) by Id
. - Операторы изменения, отличные от оператора summarize. Например, отфильтруйте некоторые записи, изменив
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 для всех существующих записей, пока записи, полученные после того, как команда alter изменит значения NULL.
- Например: представление изменено
T | summarize count() by bin(Timestamp, 1d)
наT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Для конкретного элементаTimestamp=T
, для которого записи уже были обработаны перед изменением представления,sum
столбец содержит частичные данные. Это представление содержит только записи, обработанные после выполнения изменения.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по