Compartilhar via


.alterar exibição materializada

Aplica-se a: ✅Microsoft FabricAzure 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

.altermaterialized-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_mintake_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 a T | summarize count(), min(Value) by Id, alterando a consulta de exibição para T | 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 para T | 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 o autoUpdateSchema 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 a T | summarize Count=count() by Id coluna count_ e cria uma nova coluna Count, 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 para T | summarize count(), sum(Value) by bin(Timestamp, 1d). Para um específico Timestamp=T para o qual os registros já foram processados antes de alterar a exibição, a sum coluna contém dados parciais. Essa exibição inclui apenas registros processados após a execução da alteração.