.alter materialized-view
Mengubah tampilan terwujud dapat digunakan untuk mengubah kueri tampilan terwujud, sambil mempertahankan data yang ada dalam tampilan.
Peringatan
Berhati-hatilah saat mengubah tampilan terwujud. Penggunaan yang salah dapat menyebabkan hilangnya data.
Izin
Anda harus memiliki setidaknya izin Admin Tampilan Terwujud untuk menjalankan perintah ini.
Sintaks
.alter
materialized-view
[ with
(
PropertyName=
PropertyValue,
...)
] MaterializedViewNameon table
SourceTableName{
Query}
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Jenis | Diperlukan | Deskripsi |
---|---|---|---|
PropertyName, PropertyValue | string |
Daftar properti dalam bentuk pasangan nama dan nilai, dari daftar properti yang didukung. | |
MaterializedViewName | string |
✔️ | Nama tampilan yang dimaterialisasi. |
SourceTableName | string |
✔️ | Nama tabel sumber tempat tampilan didefinisikan. |
Kueri | string |
✔️ | Definisi kueri dari tampilan terwujud. |
Properti yang didukung
Properti berikut ini didukung dalam with
(
klausa PropertyName=
PropertyValue)
. Semua properti bersifat opsional.
Nama | Jenis | Deskripsi |
---|---|---|
lookback | timespan |
Hanya berlaku untuk arg_max //arg_min take_any tampilan materialisasi. Ini membatasi periode waktu di mana duplikat diharapkan. Misalnya, jika lookback 6 jam ditentukan pada arg_max tampilan, deduplikasi antara rekaman yang baru diserap dan yang sudah ada hanya akan mempertimbangkan rekaman yang diserap hingga 6 jam yang lalu. Lookback relatif terhadap ingestion_time . Menentukan periode lookback secara tidak benar dapat menyebabkan duplikat dalam tampilan materialisasi. Misalnya, jika rekaman untuk kunci tertentu diserap 10 jam setelah rekaman untuk kunci yang sama diserap, dan lookback diatur ke 6 jam, kunci tersebut akan menjadi duplikat dalam tampilan. Periode lookback diterapkan selama waktu materialisasi dan waktu kueri. |
autoUpdateSchema | bool |
Apakah akan memperbarui tampilan secara otomatis pada perubahan tabel sumber. Defaultnya adalah false . Opsi ini hanya valid untuk tampilan jenis arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (hanya ketika argumen kolom adalah ).* Jika opsi ini diatur ke true , perubahan pada tabel sumber akan secara otomatis tercermin dalam tampilan terwujud. |
dimensionTables | array | Argumen dinamis yang menyertakan array tabel dimensi dalam tampilan. Lihat Parameter kueri. |
folder | string |
Folder tampilan materialisasi. |
docString | string |
String yang mendanai tampilan materialisasi. |
Mengembalikan
Skema output:
Nama | Jenis | Deskripsi |
---|---|---|
Nama | string |
Nama tampilan yang dimaterialisasi. |
SourceTable | string |
Nama tabel sumber tempat tampilan didefinisikan. |
Kueri | string |
Definisi kueri dari tampilan terwujud. |
MaterializedTo | datetime |
Tanda waktu ingestion_time() terwujud maksimum dalam tabel sumber. Untuk informasi selengkapnya, lihat cara kerja tampilan yang dimaterialisasi. |
LastRun | datetime |
Terakhir kali materialisasi dijalankan. |
LastRunResult | string |
Hasil dari operasi terakhir. Mengembalikan Completed untuk operasi sukses, jika tidak mengembalikan Failed . |
IsHealthy | bool |
true jika tampilan dianggap sehat, false jika sebaliknya. Tampilan dianggap sehat jika berhasil dimaterialisasi hingga satu jam terakhir (MaterializedTo lebih besar dari ago(1h) ). |
IsEnabled | bool |
true saat tampilan diaktifkan (lihat Menonaktifkan atau mengaktifkan tampilan yang dimaterialisasi). |
Folder | string |
Folder tempat tampilan materialisasi dibuat. |
DocString | string |
Deskripsi yang ditetapkan ke tampilan materialisasi. |
AutoUpdateSchema | bool |
Apakah tampilan diaktifkan untuk pembaruan otomatis. |
EffectiveDateTime | datetime |
Waktu tanggal efektif tampilan, ditentukan selama waktu pembuatan (lihat .create materialized-view ). |
Lookback | timespan |
Rentang waktu yang membatasi periode waktu di mana duplikat diharapkan. |
Contoh
Mengubah definisi kueri dari tampilan materialisasi
Perintah berikut memodifikasi definisi kueri tampilan terwujud MyView:
.alter materialized-view MyView on table MyTable
{
MyTable | summarize arg_max(Column3, *) by Column1
}
Output
Nama | SourceTable | Kueri | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Folder | DocString | AutoUpdateSchema | EffectiveDateTime | Lookback |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MyView | MyTable | MyTable | meringkas arg_max(Kolom3, *) menurut Kolom1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Selesai | TRUE | TRUE | salah | 2023-02-23T14:01:42.5172342Z |
Kasus penggunaan
- Tambahkan agregasi ke tampilan - misalnya, tambahkan agregasi
avg
keT | summarize count(), min(Value) by Id
, dengan mengubah kueri tampilan keT | summarize count(), min(Value), avg(Value) by Id
. - Ubah operator selain operator ringkasan. Misalnya, filter beberapa rekaman dengan mengubah
T | summarize arg_max(Timestamp, *) by User
keT | where User != 'someone' | summarize arg_max(Timestamp, *) by User
. - Ubah tanpa perubahan pada kueri karena perubahan tabel sumber. Misalnya, asumsikan tampilan
T | summarize arg_max(Timestamp, *) by Id
, yang tidak diatur keautoUpdateSchema
(lihat.create materialized-view
perintah). Jika kolom ditambahkan atau dihapus dari tabel sumber tampilan, tampilan akan dinonaktifkan secara otomatis. Jalankan perintah alter, dengan kueri yang sama persis, untuk mengubah skema tampilan terwujud agar selaras dengan skema tabel baru. Tampilan masih harus diaktifkan secara eksplisit setelah perubahan, menggunakan perintah aktifkan tampilan terwujud.
Batasan
Perubahan yang tidak didukung:
- Perubahan pada tampilan terwujud grup menurut ekspresi.
- Mengubah jenis kolom.
- Mengganti nama kolom. Misalnya, mengubah tampilan
T | summarize count() by Id
untuk menghilangkan kolomcount_
dan membuat kolomCount
baru , yang awalnya hanyaT | summarize Count=count() by Id
berisi null.
Dampak pada data yang ada:
- Mengubah tampilan terwujud tidak berdampak pada data yang ada.
- Menambahkan filter ke kueri hanya berlaku untuk rekaman yang baru diserap, dan tidak mengubah rekaman yang telah terwujud.
- Kolom baru menerima null untuk semua rekaman yang ada hingga rekaman yang diserap setelah perintah ubah mengubah nilai null.
- Misalnya: Tampilan
T | summarize count() by bin(Timestamp, 1d)
diubah menjadiT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Untuk rekaman tertentuTimestamp=T
yang telah diproses sebelum mengubah tampilan,sum
kolom berisi sebagian data. Tampilan ini hanya menyertakan catatan yang diproses setelah eksekusi perubahan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk