.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-alter
materialized-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 true hodnotu . 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 true hodnotu , 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_min take_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_min take_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 sloupcecount_
a vytvoření nového sloupceCount
, který zpočátku obsahujeT | 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 naT | 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.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro