Compartilhar via


.criar ou alterar a exibição materializada

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Cria uma exibição materializada ou altera uma existente.

Permissões

Você deve ter pelo menos permissões de Administrador de Exibição Materializada para executar esse comando.

Sintaxe

.create-or-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. O nome da exibição não pode entrar em conflito com nomes de tabela ou função no mesmo banco de dados e deve aderir às regras de nomenclatura do identificador.
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

Nova tabela

Se a tabela for nova, as propriedades a seguir terão suporte no with(PropertyName = PropertyValue ). Todas as propriedades são opcionais.

Nome Tipo Descrição
Aterramento bool Se a exibição deve ser criada com base em todos os registros atualmente em SourceTable (true) ou criá-la a partir de agora (false). O padrão é false. Para obter mais informações, consulte Preencher uma vista materializada.
data/hora efetiva datetime Relevante apenas quando você estiver usando backfill. Se estiver definido, a criação será preenchida apenas com registros ingeridos após a data e hora. backfill também deve ser definido como true. Essa propriedade espera um literal datetime; por exemplo, effectiveDateTime=datetime(2019-05-01).
updateExtentsCreationTime bool Relevante apenas quando você estiver usando backfill. Se estiver definido como true, o tempo de criação da extensão será atribuído com base na chave datetime group-by durante o processo de aterramento. Para obter mais informações, consulte Preencher uma vista materializada.
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.

A retrospectiva é relativa a ingestion_time(). Se a consulta de exibição materializada não preservar o ingestion_time() valor, o lookback não poderá ser definido na exibição. Veja as limitações de exibições materializadas e os problemas conhecidos. 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.
allowMaterializedViewsWithoutRowLevelSecurity bool Permite criar uma exibição materializada em uma tabela com a política de segurança em nível de linha habilitada.

Tabela existente

Se a tabela já existir, somente o subconjunto de propriedades a seguir terá suporte no with(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

Criar ou alterar uma exibição materializada

O comando a seguir cria uma nova visualização materializada ou altera uma exibição materializada existente chamada ArgMax:

.create-or-alter materialized-view ArgMax on table T
{
    T | summarize arg_max(Timestamp, *) by User
}

Saída

Nome Tabela de origem Consulta MaterializedTo Última corrida LastRunResult ÉSaudável IsEnabled Pasta DocString AutoUpdateSchema DataHora Efetiva Retrospectiva
ArgMax T T | resumir arg_max(Timestamp, *) por usuário 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Concluído(a) true true false 2023-02-23T14:01:42.5172342Z

Comentários

Se a exibição materializada não existir, esse comando se comportará exatamente como .create materialized-view.

Para obter mais informações, consulte as seções Parâmetro de consulta e Propriedades .

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.