.alter materialized-view
Změna materializovaného zobrazení se dá použít ke změně dotazu materializovaného zobrazení při zachování existujících dat v zobrazení.
Upozornění
Při změně materializovaného zobrazení buďte velmi opatrní. Nesprávné použití může vést ke ztrátě dat.
Oprávnění
Ke spuštění tohoto příkazu musíte mít aspoň oprávnění materializovaného zobrazení Správa.
Syntax
.alter
materialized-view
[ with
(
PropertyName=
PropertyValue,
...)
] MaterializedViewNameon table
SourceTableName{
Dotazu}
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
PropertyName, PropertyValue | string |
Seznam vlastností ve formě párů název a hodnota ze seznamu podporovaných vlastností | |
MaterializedViewName | string |
✔️ | Název materializovaného zobrazení |
SourceTableName | string |
✔️ | Název zdrojové tabulky, ve které je definováno zobrazení. |
Dotaz | string |
✔️ | Definice dotazu materializovaného zobrazení |
Podporované vlastnosti
Následující vlastnosti jsou podporovány v klauzuli with
(
PropertyName=
PropertyValue)
. Všechny vlastnosti jsou volitelné.
Název | Typ | Description |
---|---|---|
zpětné vyhledávání | timespan |
Platí pouze pro arg_max //arg_min take_any materializovaná zobrazení. Omezuje časové období, ve kterém se očekávají duplicity. Pokud je například v arg_max zobrazení zadané zpětné vyhledávání 6 hodin, bude odstranění duplicitních dat mezi nově přijatými a existujícími záznamy brát v úvahu pouze záznamy, které byly přijaty před 6 hodinami. Lookback je relativní 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 je například záznam pro konkrétní klíč přijat 10 hodin po ingestování záznamu pro stejný klíč a zpětné vyhledávání je nastaveno na 6 hodin, bude tento klíč v zobrazení duplicitní. Období zpětného vyhledávání se použije jak v době materializace , tak v době dotazu. |
autoUpdateSchema | bool |
Jestli se má automaticky aktualizovat zobrazení pro změny zdrojové tabulky. Výchozí 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 ve zdrojové tabulce se automaticky projeví v materializovaném zobrazení. |
dimensionTables | array | Dynamický argument, který obsahuje pole tabulek dimenzí v zobrazení. Viz Parametr dotazu. |
Složky | string |
Složka materializovaného zobrazení |
docString | string |
Řetězec, který dokumentuje materializované zobrazení. |
Návraty
Výstupní schéma:
Název | Typ | Popis |
---|---|---|
Název | string |
Název materializovaného zobrazení |
Zdrojová tabulka | string |
Název zdrojové tabulky, ve které je definováno zobrazení. |
Dotaz | string |
Definice dotazu materializovaného zobrazení |
MaterializedTo | datetime |
Maximální materializované časové razítko ingestion_time() ve zdrojové tabulce Další informace najdete v tématu o tom, jak fungují materializovaná zobrazení. |
Poslední spuštění | datetime |
Čas posledního spuštění materializace |
LastRunResult | string |
Výsledek posledního spuštění. Vrátí se Completed pro úspěšná spuštění, jinak Failed . |
IsHealthy | bool |
true pokud je zobrazení považováno za v pořádku, false jinak. Zobrazení se považuje za v pořádku, pokud bylo úspěšně materializováno až do poslední hodiny (MaterializedTo je větší než ago(1h) ). |
IsEnabled | bool |
true pokud je zobrazení povolené (viz Zakázání nebo povolení materializovaného zobrazení). |
Složka | string |
Složka, pod kterou se materializované zobrazení vytvoří. |
DocString | string |
Popis přiřazený materializovanému zobrazení |
AutoUpdateSchema | bool |
Určuje, jestli je zobrazení povolené pro automatické aktualizace. |
EffectiveDateTime | datetime |
Efektivní datum a čas zobrazení určený během vytváření (viz .create materialized-view ). |
Lookback | timespan |
Časový rozsah omezující časové období, ve kterém se očekávají duplicity. |
Příklady
Úprava definice dotazu materializovaného zobrazení
Následující příkaz upraví definici dotazu materializovaného zobrazení MyView:
.alter materialized-view MyView on table MyTable
{
MyTable | summarize arg_max(Column3, *) by Column1
}
Výstup
Name | Zdrojová tabulka | Dotaz | MaterializedTo | Poslední spuštění | LastRunResult | IsHealthy | IsEnabled | Složka | DocString | AutoUpdateSchema | EffectiveDateTime | Zpětné vyhledávání |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MyView | Mytable | MyTable | summarize arg_max(Column3; *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Dokončeno | true | true | false (nepravda) | 2023-02-23T14:01:42.5172342Z |
Případy použití
- Přidejte do zobrazení agregace – například přidáním
avg
agregace doT | summarize count(), min(Value) by Id
souboru změnou dotazu na zobrazení naT | summarize count(), min(Value), avg(Value) by Id
. - Změňte jiné operátory než operátor sumarizace. Například vyfiltrujte některé záznamy tak, že změníte
T | summarize arg_max(Timestamp, *) by User
naT | where User != 'someone' | summarize arg_max(Timestamp, *) by User
. - Změna dotazu bez změny z důvodu změny ve zdrojové tabulce Předpokládejme například zobrazení
T | summarize arg_max(Timestamp, *) by Id
, které není nastavené naautoUpdateSchema
(viz.create materialized-view
příkaz ). Pokud se sloupec přidá nebo odebere ze zdrojové tabulky zobrazení, zobrazení se automaticky zakáže. Spuštěním příkazu alter se stejným dotazem změňte schéma materializovaného zobrazení tak, aby odpovídalo novému schématu tabulky. Zobrazení musí být i po provedení změny explicitně povolené pomocí příkazu enable materialized view (povolit materializované zobrazení ).
Omezení
Změny se nepodporují:
- Změny materializovaného zobrazení seskupí podle výrazů.
- Změna typu sloupce
- Přejmenování sloupců Například když změníte zobrazení
T | summarize count() by Id
, aby seT | summarize Count=count() by Id
sloupeccount_
zahodí a vytvoří se nový sloupecCount
, který zpočátku obsahuje 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 týká jenom nově přijatých záznamů a nemění záznamy, které už byly materializované.
- Nové sloupce přijímají hodnoty null pro všechny existující záznamy, dokud se záznamy ingestují po změně hodnot null příkazem alter.
- Příklad: Zobrazení je
T | summarize count() by bin(Timestamp, 1d)
změněno naT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Pro konkrétní údajeTimestamp=T
, pro které byly záznamy již zpracovány před změnou zobrazení,sum
obsahuje sloupec částečná data. Toto zobrazení obsahuje pouze záznamy zpracované 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