Sdílet prostřednictvím


.create-or-alter materialized-view

Vytvoří materializované zobrazení nebo změní existující materializované zobrazení.

Oprávnění

Abyste mohli tento příkaz spustit, musíte mít alespoň materializovaná oprávnění správce zobrazení.

Syntaxe

.create-or-altermaterialized-view [ with(PropertyName = PropertyValue,...)] MaterializedViewName on table SourceTableName { – dotaz }

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
PropertyName, PropertyValue string Seznam vlastností ve formě párů názvů a hodnot ze seznamu podporovaných vlastností
MaterializedViewName string ✔️ Název materializovaného zobrazení Název zobrazení nemůže být v konfliktu s názvy tabulek nebo funkcí ve stejné databázi a musí dodržovat pravidla pojmenování identifikátoru.
SourceTableName string ✔️ Název zdrojové tabulky, na které je zobrazení definováno.
Dotaz string ✔️ Definice dotazu materializovaného zobrazení

Podporované vlastnosti

Nová tabulka

Pokud je tabulka nová, následující vlastnosti jsou podporovány v PropertyName = PropertyValue ).with( Všechny vlastnosti jsou volitelné.

Name Typ Popis
zavážka bool Jestli chcete vytvořit zobrazení na základě všech aktuálně uložených SourceTable záznamů (true), nebo ho odteď vytvořit (false). Výchozí hodnota je false. Další informace naleznete v tématu Backfill a materialized view.
effectiveDateTime datetime Relevantní pouze v případech, kdy používáte backfill. Pokud je nastavená, vytváření backfills se naplní pouze záznamy přijatými po datu a času. backfill musí být nastavena také na truehodnotu . Tato vlastnost očekává literál datetime; například effectiveDateTime=datetime(2019-05-01).
updateExtentsCreationTime bool Relevantní pouze v případech, kdy používáte backfill. Pokud je nastavená na truehodnotu , přiřazuje se čas vytvoření rozsahu na základě klíče datetime group-by během procesu obnovení. Další informace naleznete v tématu Backfill a materialized view.
lookback timespan Platné pouze pro arg_max//arg_mintake_any materializovaná zobrazení. Omezuje dobu, po kterou se očekávají duplicity. Pokud je například v zobrazení zadáno arg_max zpětné vyhledávání 6 hodin, odstranění duplicitních dat mezi nově přijatými záznamy a existujícími záznamy bude brát v úvahu pouze záznamy, které byly ingestovány až před 6 hodinami.

Zpětné vyhledávání je relativní vzhledem k ingestion_time. Nesprávné definování období zpětného vyhledávání může vést k duplicitám v materializovaném zobrazení. Pokud se například záznam pro určitý klíč ingestuje 10 hodin po ingestování záznamu pro stejný klíč a zpětné vyhledávání je nastavené na 6 hodin, bude tento klíč v zobrazení duplicitní. Období zpětného vyhledávání se použije v době materializace i v době dotazu.
autoUpdateSchema bool Zda se má zobrazení u zdrojových tabulek automaticky aktualizovat. Výchozí hodnota je false. Tato možnost je platná pouze pro zobrazení typu arg_max(Timestamp, *)//arg_min(Timestamp, *)take_any(*) (pouze v případě, že argument sloupce je ).* Pokud je tato možnost nastavená na true, změny zdrojové tabulky se automaticky projeví v materializovaném zobrazení.
DimensionTables pole Dynamický argument, který v zobrazení obsahuje pole tabulek dimenzí. Viz parametr dotazu.
souborů string Složka materializovaného zobrazení.
docString string Řetězec, který dokumentuje materializované zobrazení.
allowMaterializedViewsWithoutRowLevelSecurity bool Umožňuje vytvořit materializované zobrazení v tabulce s povolenými zásadami zabezpečení na úrovni řádků.

Existující tabulka

Pokud tabulka již existuje, jsou v with(PropertyName = PropertyValue )podporovány pouze následující podmnožina vlastností . Všechny vlastnosti jsou volitelné.

Name Typ Popis
lookback timespan Platné pouze pro arg_max//arg_mintake_any materializovaná zobrazení. Omezuje dobu, po kterou se očekávají duplicity. Pokud je například v zobrazení zadáno arg_max zpětné vyhledávání 6 hodin, odstranění duplicitních dat mezi nově přijatými záznamy a existujícími záznamy bude brát v úvahu pouze záznamy, které byly ingestovány až před 6 hodinami.

Zpětné vyhledávání je relativní vzhledem k ingestion_time. Nesprávné definování období zpětného vyhledávání může vést k duplicitám v materializovaném zobrazení. Pokud se například záznam pro určitý klíč ingestuje 10 hodin po ingestování záznamu pro stejný klíč a zpětné vyhledávání je nastavené na 6 hodin, bude tento klíč v zobrazení duplicitní. Období zpětného vyhledávání se použije v době materializace i v době dotazu.
autoUpdateSchema bool Zda se má zobrazení u zdrojových tabulek automaticky aktualizovat. Výchozí hodnota je false. Tato možnost je platná pouze pro zobrazení typu arg_max(Timestamp, *)//arg_min(Timestamp, *)take_any(*) (pouze v případě, že argument sloupce je ).* Pokud je tato možnost nastavená na true, změny zdrojové tabulky se automaticky projeví v materializovaném zobrazení.
DimensionTables pole Dynamický argument, který v zobrazení obsahuje pole tabulek dimenzí. Viz parametr dotazu.
souborů string Složka materializovaného zobrazení.
docString string Řetězec, který dokumentuje materializované zobrazení.

Návraty

Výstupní schéma:

Name Typ Popis
Name string Název materializovaného zobrazení
Zdrojová tabulka string Název zdrojové tabulky, na které je zobrazení definováno.
Dotaz string Definice dotazu materializovaného zobrazení
MaterializedTo datetime Maximální materializované časové razítko ingestion_time() ve zdrojové tabulce Další informace naleznete v tom , jak materializovaná zobrazení fungují.
LastRun datetime Čas posledního spuštění materializace
LastRunResult string Výsledek posledního spuštění Vrátí Completed pro úspěšná spuštění, jinak Failed.
IsHealthy bool true pokud je zobrazení považováno za zdravé, false jinak. Zobrazení je považováno za zdravé, pokud bylo úspěšně materializováno až do poslední hodiny (MaterializedTo je větší než ago(1h)).
IsEnabled bool true při povolení zobrazení (viz Zakázání nebo povolení materializovaného zobrazení)
Složka string Složka, pod kterou se vytvoří materializované zobrazení.
DocString string Popis přiřazený materializovanému zobrazení
AutoUpdateSchema bool Určuje, jestli je zobrazení povolené pro automatické aktualizace.
EffectiveDateTime datetime Datum účinnosti zobrazení určeného během vytváření (viz .create materialized-view).
Zpětné vyhledávání timespan Časový rozsah omezuje časové období, ve kterém jsou očekávány duplicity.

Příklady

Vytvoření nebo změna materializovaného zobrazení

Následující příkaz vytvoří nové nebo změní existující materializované zobrazení s názvem ArgMax:

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

Výstup

Název Zdrojová tabulka Dotaz MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Složka DocString AutoUpdateSchema EffectiveDateTime Zpětné vyhledávání
ArgMax T T | summarize arg_max(Timestamp; *) by User 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Dokončeno true true false (nepravda) 2023-02-23T14:01:42.5172342Z

Poznámky

Pokud materializované zobrazení neexistuje, tento příkaz se chová stejně jako .create materialized-view.

Další informace najdete v částech Parametr dotazu a Vlastnosti .

Omezení

  • Změny se nepodporují:

    • Změny materializované skupiny zobrazení podle výrazů
    • Změna typu sloupce
    • Přejmenování sloupců Například změna zobrazení T | summarize count() by Id na pokles sloupce count_ a vytvoření nového sloupce Count, který zpočátku obsahuje T | summarize Count=count() by Id pouze hodnoty null.
  • Dopad na existující data:

    • Změna materializovaného zobrazení nemá žádný vliv na existující data.
    • Přidání filtrů do dotazu se vztahuje pouze na nově ingestované záznamy a nemění záznamy, které už byly materializovány.
      • Nové sloupce přijímají hodnoty null pro všechny existující záznamy, dokud záznamy ingestované po příkazu alter nezmění hodnoty null.
      • Příklad: Zobrazení T | summarize count() by bin(Timestamp, 1d) je změněno na T | summarize count(), sum(Value) by bin(Timestamp, 1d). Pro konkrétní Timestamp=T záznamy, které již byly zpracovány před změnou zobrazení, sum sloupec obsahuje částečná data. Toto zobrazení obsahuje pouze záznamy zpracovávané po provedení změny.