.alterar exibição materializada
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
A alteração da exibição materializada pode ser usada para mudar a consulta de uma exibição materializada preservando os dados existentes na exibição.
Aviso
Seja extremamente cauteloso ao alterar uma visão materializada. O uso incorreto pode levar à perda de dados.
Permissões
Você deve ter pelo menos permissões de Administrador de Exibição Materializada para executar esse comando.
Sintaxe
.alter
materialized-view
(
with
[ PropertyName =
PropertyValue,
...] )
Consulta MaterializedViewName on table
SourceTableName{
}
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
PropertyName, PropertyValue | string |
Lista de propriedades na forma de pares de nome e valor, da lista de propriedades suportadas. | |
MaterializedViewName | string |
✔️ | Nome da exibição materializada. |
Nome_da_Tabela_de_Origem | string |
✔️ | Nome da tabela de origem na qual a exibição é definida. |
Consulta | string |
✔️ | Definição de consulta da visualização materializada. |
Propriedades aceitas
As propriedades a seguir têm suporte na with
(
cláusula PropertyName =
PropertyValue.)
Todas as propriedades são opcionais.
Nome | Tipo | Descrição |
---|---|---|
olhar para trás | timespan |
Válido somente para arg_max //arg_min take_any exibições materializadas. Ele limita o período de tempo em que as duplicatas são esperadas. Por exemplo, se uma retrospectiva de 6 horas for especificada em uma arg_max exibição, a eliminação de duplicação entre os registros recém-assimilados e os existentes levará em consideração apenas os registros que foram ingeridos até 6 horas atrás. Lookback é relativo a ingestion_time . Definir o período de lookback incorretamente pode levar a duplicatas na exibição materializada. Por exemplo, se um registro de uma chave específica for assimilado 10 horas após um registro da mesma chave ter sido ingerido e a lookback for definida como 6 horas, essa chave será uma duplicata na exibição. O período de lookback é aplicado durante o tempo de materialização e o tempo de consulta. |
autoUpdateSchema | bool |
Se a exibição deve ser atualizada automaticamente nas alterações da tabela de origem. O padrão é false . Essa opção é válida apenas para exibições do tipo arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (somente quando o argumento da coluna é ).* Se essa opção estiver definida como true , as alterações na tabela de origem serão refletidas automaticamente na exibição materializada. |
dimensionTables | matriz | Um argumento dinâmico que inclui uma matriz de tabelas de dimensões na exibição. Consulte Parâmetro de consulta. |
folder | string |
A pasta da exibição materializada. |
Sequência de documentos | string |
Uma cadeia de caracteres que documenta a exibição materializada. |
Devoluções
Esquema de saída:
Nome | Tipo | Descrição |
---|---|---|
Nome | string |
Nome da exibição materializada. |
Tabela de origem | string |
Nome da tabela de origem na qual a exibição é definida. |
Consulta | string |
Definição de consulta da visualização materializada. |
MaterializedTo | datetime |
Carimbo de data/hora máximo ingestion_time() materializado na tabela de origem. Para obter mais informações, consulte como funcionam as exibições materializadas. |
Última corrida | datetime |
A última materialização foi executada. |
LastRunResult | string |
Resultado da última execução. Retorna Completed para execuções bem-sucedidas, caso contrário Failed . |
ÉSaudável | bool |
true quando a exibição é considerada íntegra, false caso contrário. A exibição é considerada íntegra se tiver sido materializada com êxito até a última hora (MaterializedTo é maior que ago(1h) ). |
IsEnabled | bool |
true quando a exibição está habilitada (consulte Desabilitar ou habilitar a exibição materializada). |
Pasta | string |
Pasta na qual a exibição materializada é criada. |
DocString | string |
Descrição atribuída à visualização materializada. |
AutoUpdateSchema | bool |
Se a exibição está habilitada para atualizações automáticas. |
DataHora Efetiva | datetime |
Data e hora efetiva da exibição, determinada durante o tempo de criação (consulte .create materialized-view ). |
Retrospectiva | timespan |
Intervalo de tempo que limita o período de tempo em que as duplicatas são esperadas. |
Exemplos
Modificar a definição de consulta de uma exibição materializada
O comando a seguir modifica a definição de consulta da exibição materializada MyView:
.alter materialized-view MyView on table MyTable
{
MyTable | summarize arg_max(Column3, *) by Column1
}
Saída
Nome | Tabela de origem | Consulta | MaterializedTo | Última corrida | LastRunResult | ÉSaudável | IsEnabled | Pasta | DocString | AutoUpdateSchema | DataHora Efetiva | Retrospectiva |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Minha visualização | MyTable | Minha Tabela | resumir arg_max(Coluna3, *) por Coluna1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Concluído(a) | true | true | false | 2023-02-23T14:01:42.5172342Z |
Casos de uso
- Adicione agregações à exibição - por exemplo, adicione
avg
agregação aT | summarize count(), min(Value) by Id
, alterando a consulta de exibição paraT | summarize count(), min(Value), avg(Value) by Id
. - Altere os operadores diferentes do operador summarize. Por exemplo, filtre
T | summarize arg_max(Timestamp, *) by User
alguns registros alterando paraT | where User != 'someone' | summarize arg_max(Timestamp, *) by User
. - Alterar sem alteração na consulta devido a uma alteração na tabela de origem. Por exemplo, suponha uma exibição de
T | summarize arg_max(Timestamp, *) by Id
, que não esteja definida como (consulte.create materialized-view
oautoUpdateSchema
comando). Se uma coluna for adicionada ou removida da tabela de origem da exibição, a exibição será desabilitada automaticamente. Execute o comando alter, com exatamente a mesma consulta, para alterar o esquema da exibição materializada para alinhá-lo ao novo esquema de tabela. A exibição ainda deve ser habilitada explicitamente após a alteração, usando o comando enable materialized view .
Limitações
Alterações não suportadas:
- Alterações no grupo de exibição materializado por expressões.
- Alterando o tipo de coluna.
- Renomear colunas. Por exemplo, alterar uma exibição de
T | summarize count() by Id
para descarta aT | summarize Count=count() by Id
colunacount_
e cria uma nova colunaCount
, que inicialmente contém apenas nulos.
Impacto nos dados existentes:
- Alterar a exibição materializada não tem impacto nos dados existentes.
- A adição de filtros à consulta se aplica somente a registros recém-assimilados e não altera os registros que já foram materializados.
- Novas colunas recebem nulos para todos os registros existentes até que os registros ingeridos após o comando alter modifiquem os valores nulos.
- Por exemplo: Uma exibição de
T | summarize count() by bin(Timestamp, 1d)
é alterada paraT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Para um específicoTimestamp=T
para o qual os registros já foram processados antes de alterar a exibição, asum
coluna contém dados parciais. Essa exibição inclui apenas registros processados após a execução da alteração.