.create-or-alter materialized-view
Materializált nézetet hoz létre, vagy módosít egy meglévő materializált nézetet.
Engedélyek
A parancs futtatásához legalább Materialized View Rendszergazda engedéllyel kell rendelkeznie.
Syntax
.create-or-alter
materialized-view
[ with
(
PropertyName=
PropertyValue,
...)
] MaterializedViewNameon table
SourceTableName{
Lekérdezés}
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
PropertyName, PropertyValue | string |
Tulajdonságok listája név- és értékpárok formájában a támogatott tulajdonságok listájából. | |
MaterializedViewName | string |
✔️ | A materializált nézet neve. A nézetnév nem ütközhet az ugyanabban az adatbázisban lévő tábla- vagy függvénynevekkel, és meg kell felelnie az azonosító elnevezési szabályainak. |
SourceTableName | string |
✔️ | Annak a forrástáblának a neve, amelyen a nézet definiálva van. |
Lekérdezés | string |
✔️ | A materializált nézet lekérdezésdefiníciója. |
Támogatott tulajdonságok
Új táblázat
Ha a tábla új, az alábbi tulajdonságok támogatottak a with(
PropertyName=
TulajdonságÉrtékben)
. Az összes tulajdonság megadása nem kötelező.
Név | Típus | Description |
---|---|---|
visszatöltés | bool |
A nézetet a (true ) összes rekordja SourceTable alapján hozza létre, vagy mostantól (false ). Az alapértelmezett szint a false . További információ: Materializált nézet visszatöltése. |
effectiveDateTime | datetime |
Csak akkor releváns, ha a parancsot használja backfill . Ha be van állítva, a létrehozás csak a datetime után betöltött rekordokkal tölthető le. backfill A értéket is a értékre kell állítani.true Ez a tulajdonság dátum/idő literálra számít; például: effectiveDateTime=datetime(2019-05-01) . |
updateExtentsCreationTime | bool |
Csak akkor releváns, ha a parancsot használja backfill . Ha a értékre true van állítva, akkor a bővítménylétrehozási idő a datetime group-by kulcs alapján van hozzárendelve a visszatöltési folyamat során. További információ: Materializált nézet visszatöltése. |
visszatekintés | timespan |
Csak materializált nézetekre arg_max //arg_min take_any érvényes. Ez korlátozza az ismétlődések várható időtartamát. Ha például egy nézetben 6 órás visszatekintés van megadva arg_max , az újonnan betöltött rekordok és a meglévők közötti deduplikáció csak azokat a rekordokat veszi figyelembe, amelyeket legfeljebb 6 órával ezelőtt töltöttek be. A visszatekintés a következőhöz viszonyítva ingestion_time van: . A visszatekintési időszak helytelen meghatározása ismétlődő elemeket eredményezhet a materializált nézetben. Ha például egy adott kulcs rekordját 10 órával az adott kulcs rekordjának betöltése után betölti a rendszer, és a visszatekintés 6 órára van állítva, akkor a kulcs duplikált lesz a nézetben. A visszatekintési időszak mind a materializálási, mind a lekérdezési idő során érvényesül. |
autoUpdateSchema | bool |
Azt határozza meg, hogy a forrástábla nézete automatikusan frissüljön-e. Az alapértelmezett szint a false . Ez a beállítás csak típusú arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) nézetekre érvényes (csak akkor, ha az oszlop argumentuma ).* Ha ez a beállítás értékre true van állítva, a forrástábla módosításai automatikusan megjelennek a materializált nézetben. |
dimensionTables | array | Dinamikus argumentum, amely dimenziótáblák tömböt tartalmaz a nézetben. Lásd: Lekérdezési paraméter. |
Mappa | string |
A materializált nézet mappája. |
docString | string |
A materializált nézetet dokumentáló sztring. |
allowMaterializedViewsWithoutRowLevelSecurity | bool |
Lehetővé teszi, hogy materializált nézetet hozzon létre egy táblán, amelyen engedélyezve van a sorszintű biztonsági szabályzat. |
Meglévő tábla
Ha a tábla már létezik, a PropertyName=
TulajdonságÉrték)
csak a tulajdonságok következő részhalmazát támogatjawith(
. Az összes tulajdonság megadása nem kötelező.
Név | Típus | Description |
---|---|---|
visszatekintés | timespan |
Csak materializált nézetekre arg_max //arg_min take_any érvényes. Ez korlátozza az ismétlődések várható időtartamát. Ha például egy nézetben 6 órás visszatekintés van megadva arg_max , az újonnan betöltött rekordok és a meglévők közötti deduplikáció csak azokat a rekordokat veszi figyelembe, amelyeket legfeljebb 6 órával ezelőtt töltöttek be. A visszatekintés a következőhöz viszonyítva ingestion_time van: . A visszatekintési időszak helytelen meghatározása ismétlődő elemeket eredményezhet a materializált nézetben. Ha például egy adott kulcs rekordját 10 órával az adott kulcs rekordjának betöltése után betölti a rendszer, és a visszatekintés 6 órára van állítva, akkor a kulcs duplikált lesz a nézetben. A visszatekintési időszak mind a materializálási, mind a lekérdezési idő során érvényesül. |
autoUpdateSchema | bool |
Azt határozza meg, hogy a forrástábla nézete automatikusan frissüljön-e. Az alapértelmezett szint a false . Ez a beállítás csak típusú arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) nézetekre érvényes (csak akkor, ha az oszlop argumentuma ).* Ha ez a beállítás értékre true van állítva, a forrástábla módosításai automatikusan megjelennek a materializált nézetben. |
dimensionTables | array | Dinamikus argumentum, amely dimenziótáblák tömböt tartalmaz a nézetben. Lásd: Lekérdezési paraméter. |
Mappa | string |
A materializált nézet mappája. |
docString | string |
A materializált nézetet dokumentáló sztring. |
Válaszok
Kimeneti séma:
Név | Típus | Leírás |
---|---|---|
Név | string |
A materializált nézet neve. |
SourceTable | string |
Annak a forrástáblának a neve, amelyen a nézet definiálva van. |
Lekérdezés | string |
A materializált nézet lekérdezésdefiníciója. |
MaterializedTo | datetime |
Maximális materializált ingestion_time() időbélyeg a forrástáblában. További információ: A materializált nézetek működése. |
LastRun | datetime |
A materializáció legutóbbi futtatása. |
LastRunResult | string |
Az utolsó futtatás eredménye. Sikeres futtatások Completed esetén ad vissza értéket, ellenkező esetben Failed . |
IsHealthy | bool |
true ha a nézet kifogástalannak minősül, false ellenkező esetben. A nézet akkor tekinthető kifogástalannak, ha az utolsó óráig sikeresen megvalósult (MaterializedTo nagyobb, mint ago(1h) ). |
IsEnabled | bool |
true ha a nézet engedélyezve van (lásd: Materializált nézet letiltása vagy engedélyezése). |
Mappa | string |
Mappa, amelyben a materializált nézet létrejön. |
DocString | string |
A materializált nézethez rendelt leírás. |
AutoUpdateSchema | bool |
Azt jelzi, hogy a nézet engedélyezve van-e az automatikus frissítésekhez. |
EffectiveDateTime | datetime |
A nézet létrehozási ideje alatt meghatározott érvényes dátum (lásd: .create materialized-view ). |
Visszatekintés | timespan |
Az ismétlődések várható időtartamának korlátozására szolgáló időtartam. |
Példák
Materializált nézet létrehozása vagy módosítása
A következő parancs létrehoz egy új, vagy módosít egy meglévő materializált nézetet ArgMax néven:
.create-or-alter materialized-view ArgMax on table T
{
T | summarize arg_max(Timestamp, *) by User
}
Kimenet
Name | SourceTable | Lekérdezés | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Mappa | DocString | AutoUpdateSchema | EffectiveDateTime | Visszatekintés |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ArgMax | T | T | summarize arg_max(Timestamp, *) by User | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Befejeződött | true | true | hamis | 2023-02-23T14:01:42.5172342Z |
Megjegyzések
Ha a materializált nézet nem létezik, ez a parancs ugyanúgy viselkedik, mint a .create materialized-view.
További információkért tekintse meg a Lekérdezés paraméter és a Tulajdonságok szakaszt.
Korlátozások
A módosítások nem támogatottak:
- A materializált nézetcsoport módosításai kifejezések szerint.
- Oszloptípus módosítása.
- Oszlopok átnevezése. Ha például módosít egy nézetet
T | summarize count() by Id
úgy, hogy elveti azT | summarize Count=count() by Id
oszlopotcount_
, és létrehoz egy új oszlopotCount
, amely kezdetben csak null értékeket tartalmaz.
A meglévő adatokra gyakorolt hatás:
- A materializált nézet módosítása nincs hatással a meglévő adatokra.
- Szűrők hozzáadása a lekérdezéshez csak az újonnan betöltött rekordokra vonatkozik, és nem módosítja a már materializált rekordokat.
- Az új oszlopok az összes meglévő rekord esetében null értékeket kapnak, amíg az alter parancs után betöltött rekordok nem módosítják a null értékeket.
- Például: A nézete
T | summarize count() by bin(Timestamp, 1d)
a következőreT | summarize count(), sum(Value) by bin(Timestamp, 1d)
módosul: . Az oszlop részleges adatokat tartalmaz, ha egy adott rekordotTimestamp=T
már feldolgoztak a nézetsum
módosítása előtt. Ez a nézet csak a módosítás végrehajtása után feldolgozott rekordokat tartalmazza.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: