Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara mengonfigurasi tampilan materialisasi di Databricks SQL, termasuk kontrol akses pada hasilnya. Sebagian besar konfigurasi dapat dilakukan dengan CREATE OR REPLACE MATERIALIZED VIEW perintah saat Anda membuat tampilan materialisasi, atau setelah pembuatan dengan ALTER TABLE perintah.
Menjelaskan tampilan materialisasi
Untuk mengambil kolom dan jenis data untuk tampilan materialisasi, gunakan pernyataan DESCRIBE. Untuk mengambil kolom, jenis data, dan metadata seperti pemilik, lokasi, waktu pembuatan, dan status refresh untuk tampilan materialisasi, gunakan DESCRIBE EXTENDED. Untuk mengirimkan DESCRIBE pernyataan, gunakan editor SQL di UI Azure Databricks, Databricks SQL CLI, atau Databricks SQL API.
Dapatkan informasi terperinci tentang tampilan materialisasi dengan Catalog Explorer
Anda dapat menggunakan Penjelajah Katalog secara bergantian untuk melihat detail tentang tampilan materialisasi.
- Klik
Katalog di bilah samping.
- Di pohon Catalog Explorer di sebelah kiri, buka katalog dan pilih skema tempat tampilan materialisasi Anda berada.
- Buka item Tabel di bawah skema yang Anda pilih, dan klik tampilan hasil materialisasi.
Dari sini, Anda dapat menggunakan tab di bawah nama tampilan materialisasi untuk melihat dan mengedit informasi tentang tampilan materialisasi, termasuk:
- Update status dan penjadwalan
- Lihat detail alur untuk melihat riwayat refresh, serta log terperinci untuk setiap refresh. Klik Lihat detail refresh dari tab Gambaran Umum untuk melihat detail alur.
- Skema tabel
- Data sampel (membutuhkan komputasi yang aktif)
- Permissions
- Silsilah data, termasuk tabel dan alur yang bergantung pada tampilan materialisasi ini
- Wawasan tentang penggunaan
- Monitor yang telah Anda buat untuk tampilan materialisasi ini
Ada beberapa properti tabel yang tidak tersedia di Catalog Explorer. Untuk properti tersebut, atau untuk mendapatkan informasi secara terprogram, Anda dapat menggunakan perintah DESCRIBE EXTENDED .
Memperbarui definisi tampilan termaterialisasi
Kueri yang menentukan tampilan materialisasi adalah definisinya. Untuk mengubah definisi tampilan materialisasi, edit kueri, atau buat kueri CREATE OR REPLACE MATERIALIZED VIEW baru dengan nama tampilan yang sama, lalu jalankan. Refresh penuh dilakukan untuk memperbarui tampilan materialisasi, dan refresh lebih lanjut menggunakan definisi baru.
Mengontrol akses ke tampilan materialisasi
Tampilan materialisasi mendukung kontrol akses yang kaya untuk mendukung berbagi data sambil menghindari mengekspos data yang berpotensi privat. Pemilik tampilan materialisasi atau pengguna dengan MANAGE hak istimewa dapat memberikan SELECT hak istimewa kepada pengguna lain. Pengguna dengan SELECT akses ke tampilan materialisasi tidak memerlukan SELECT akses ke tabel yang dirujuk oleh tampilan materialisasi. Kontrol akses ini memungkinkan berbagi data sambil mengontrol akses ke data yang mendasar.
Anda juga dapat memodifikasi pemilik tampilan materialisasi.
Memberikan hak istimewa ke tampilan materialisasi
Untuk memberikan akses ke tampilan materialisasi, gunakan GRANT pernyataan:
GRANT <privilege_type> ON <mv_name> TO <principal>;
privilege_type dapat berupa:
-
SELECT- pengguna dapatSELECTtampilan termaterialisasi. -
REFRESH- pengguna dapatREFRESHtampilan termaterialisasi. Refresh dijalankan menggunakan izin pemilik.
Contoh berikut membuat tampilan materialisasi dan memberikan hak istimewa pilih dan refresh kepada pengguna:
CREATE MATERIALIZED VIEW mv_name AS SELECT * FROM source_table;
-- Grant read-only access:
GRANT SELECT ON mv_name TO read_only_user;
-- Grand read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;
Mencabut hak istimewa dari tampilan materialisasi
Untuk mencabut akses dari tampilan materialisasi, gunakan REVOKE pernyataan :
REVOKE privilege_type ON <mv_name> FROM principal;
Ketika SELECT hak istimewa pada tabel sumber dicabut dari pemilik tampilan materialisasi atau pengguna lain yang telah diberikan MANAGE atau SELECT hak istimewa pada tampilan materialisasi, atau tabel sumber dihapus, pemilik tampilan materialisasi atau pengguna yang diberi akses tetap dapat melakukan kueri pada tampilan materialisasi. Namun, perilaku berikut terjadi:
- Pemilik tampilan materialisasi atau orang lain yang kehilangan akses ke tampilan materialisasi tidak
REFRESHlagi dapat melihat materialisasi tersebut, dan tampilan materialisasi akan menjadi kedaluarsa. - Jika diotomatisasi dengan jadwal, jadwal berikutnya
REFRESHgagal atau tidak dijalankan.
Contoh berikut mencabut SELECT hak istimewa dari read_only_user:
REVOKE SELECT ON mv_name FROM read_only_user;
Mengubah pemilik tampilan materialisasi
Pengguna dengan MANAGE izin pada tampilan termaterialisasi yang ditentukan dalam Databricks SQL dapat menetapkan pemilik baru melalui Catalog Explorer. Pemilik baru dapat menjadi diri mereka sendiri atau perwakilan layanan tempat mereka memiliki peran Pengguna Perwakilan Layanan .
Dari ruang kerja Azure Databricks Anda, klik
Katalog untuk membuka Catalog Explorer.
Pilih tampilan materialisasi yang ingin Anda perbarui.
Di bilah sisi kanan, di bawah Tentang tampilan terwujud ini, temukan Pemilik, dan klik
Nota
Jika Anda mendapatkan pesan yang memberi tahu Anda untuk memperbarui pemilik dengan mengubah Run as pengguna pada pengaturan alur, maka Tampilan Materialisasi didefinisikan dalam Alur Deklaratif Lakeflow Spark, bukan Databricks SQL. Pesan menyertakan tautan ke pengaturan alur, tempat Anda dapat mengubah Jalankan sebagai pengguna.
Pilih pemilik baru untuk tampilan materialisasi.
Pemilik secara otomatis memiliki hak istimewa
MANAGEdan hak istimewaSELECTpada tampilan materialisasi yang mereka miliki. Jika Anda menetapkan perwakilan layanan sebagai pemilik untuk tampilan materialisasi yang Anda miliki, dan Anda tidak secara eksplisit memilikiSELECTatauMANAGEhak istimewa pada tampilan materialisasi, maka perubahan ini akan menyebabkan Anda kehilangan semua akses ke tampilan materialisasi. Dalam hal ini, Anda diminta untuk secara eksplisit memberikan hak istimewa tersebut.Pilih Grant MANAGE dan Berikan SELECT hak istimewa agar hak istimewa tersebut tersedia di Simpan.
Klik Simpan untuk mengubah pemilik.
Pemilik tampilan termaterialisasi diperbarui. Semua refresh di masa mendatang dijalankan menggunakan identitas pemilik baru.
Ketika pemilik kehilangan hak istimewa untuk tabel sumber
Jika Anda mengubah pemilik, dan pemilik baru tidak memiliki akses ke tabel sumber (atau SELECT hak istimewa dicabut pada tabel sumber yang mendasar), pengguna masih dapat mengkueri tampilan materialisasi. Namun:
- Mereka tidak dapat
REFRESHmewujudkan tampilan. - Pembaruan terjadwal berikutnya dari tampilan yang telah materialisasi kemungkinan akan gagal.
Kehilangan akses ke data sumber mencegah pembaruan, tetapi tidak segera membatalkan tampilan materialisasi yang ada agar tidak dibaca.
Mengatur saluran runtime
Tampilan materialisasi yang dibuat menggunakan gudang SQL secara otomatis di-refresh menggunakan alur. Pipeline menggunakan runtime pada saluran current secara default. Lihat Catatan rilis Lakeflow Spark Declarative Pipelines dan proses peningkatan rilis untuk mempelajari tentang proses rilis.
Databricks merekomendasikan penggunaan current saluran untuk beban kerja produksi. Fitur baru pertama kali dirilis ke saluran preview. Anda dapat mengatur alur ke saluran pratinjau untuk menguji fitur baru dengan menentukan preview sebagai properti tabel. Anda dapat menentukan properti ini saat membuat tabel atau setelah tabel dibuat menggunakan pernyataan ALTER.
Contoh kode berikut menunjukkan cara mengatur saluran untuk dipratinjau dalam pernyataan CREATE:
CREATE OR REPLACE MATERIALIZED VIEW sales
TBLPROPERTIES ('pipelines.channel' = 'preview')
AS ...
Untuk mengubah saluran setelah pembuatan, gunakan ALTER TABLE pernyataan:
ALTER TABLE <table-name> SET TBLPROPERTIES ('pipelines.channel' = 'preview');