Konfigurasikan tampilan termaterialisasi mandiri

Konfigurasikan tampilan terwujud mandiri, termasuk kontrol akses terhadap hasilnya, saat Anda membuat tampilan terwujud dengan CREATE OR REPLACE MATERIALIZED VIEW, atau setelah dibuat dengan ALTER TABLE.

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.

  1. Klik ikon Data.Katalog di bilah samping.
  2. Di pohon Catalog Explorer di sebelah kiri, buka katalog dan pilih skema tempat tampilan materialisasi Anda berada.
  3. 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, dan 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 dapat SELECT tampilan termaterialisasi.
  • REFRESH - pengguna dapat REFRESH tampilan 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;

-- Grant 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 dapat lagi REFRESH melihat materialisasi tersebut, dan tampilan materialisasi menjadi kedaluarsa.
  • Jika diotomatisasi dengan jadwal, jadwal berikutnya REFRESH gagal 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 yang memiliki izin MANAGE pada materialized view mandiri dapat menetapkan pemilik baru melalui Catalog Explorer. Pemilik baru dapat menjadi diri mereka sendiri atau perwakilan layanan tempat mereka memiliki peran Pengguna Perwakilan Layanan .

  1. Dari ruang kerja Azure Databricks Anda, klik Ikon data.Katalog untuk membuka Catalog Explorer.

  2. Pilih tampilan materialisasi yang ingin Anda perbarui.

  3. Di bilah sisi kanan, di bawah Tentang tampilan terwujud ini, temukan Pemilik, dan klik ikon pensil untuk mengedit.

    Note

    Jika Anda mendapatkan pesan yang meminta Anda memperbarui pemilik dengan mengubah pengguna Jalankan sebagai di setelan pipeline, berarti tampilan termaterialisasi ditentukan dalam pipeline Lakeflow, bukan sebagai tabel mandiri. Pesan menyertakan tautan ke pengaturan alur, tempat Anda dapat mengubah Jalankan sebagai pengguna.

  4. Pilih pemilik baru untuk tampilan materialisasi.

    Pemilik secara otomatis memiliki hak istimewa MANAGE dan hak istimewa SELECT pada tampilan materialisasi yang mereka miliki. Jika Anda menetapkan perwakilan layanan sebagai pemilik untuk tampilan materialisasi yang Anda miliki, dan Anda tidak secara eksplisit memiliki SELECT atau MANAGE hak 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.

  5. 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 REFRESH mewujudkan tampilan.
  • Refresh terjadwal berikutnya dari tampilan materialisasi gagal.

Kehilangan akses ke data sumber mencegah pembaruan, tetapi tidak segera membatalkan tampilan materialisasi yang ada agar tidak dibaca.

Versi runtime

Materialized view selalu berjalan pada versi runtime SQL Databricks terbaru. Properti tabel pipelines.channel, yang sebelumnya digunakan untuk memilih kanal runtime preview atau current, tidak lagi didukung dan tidak berpengaruh. Jika definisi yang sudah ada mencakup properti ini, maka definisi tersebut diabaikan dengan aman dan Anda tidak perlu menghapusnya.