Menggunakan tampilan materialisasi di Databricks SQL
Artikel ini menjelaskan cara membuat dan menggunakan tampilan materialisasi di Databricks SQL untuk meningkatkan performa dan mengurangi biaya beban kerja pemrosesan dan analisis data Anda.
Catatan
Jika Anda perlu menggunakan koneksi Azure Private Link dengan tampilan materialisasi Anda, hubungi perwakilan Databricks Anda.
Penting
Tampilan materialisasi yang dibuat di Databricks SQL didukung oleh alur DLT tanpa server. Ruang kerja Anda harus mendukung alur tanpa server untuk menggunakan fungsionalitas ini.
Apa itu tampilan materialisasi?
Di Databricks SQL, tampilan materialisasi adalah tabel terkelola Unity Catalog yang memungkinkan pengguna untuk melakukan prakompeksi hasil berdasarkan versi terbaru data dalam tabel sumber. Tampilan materialisasi pada Azure Databricks berbeda dari implementasi lain karena hasil yang dikembalikan mencerminkan status data ketika tampilan materialisasi terakhir di-refresh daripada selalu memperbarui hasil saat tampilan materialisasi dikueri. Anda dapat me-refresh tampilan terwujud secara manual atau menjadwalkan refresh.
Tampilan materialisasi sangat efektif untuk beban kerja dalam pemrosesan data, seperti pengekstrakan, transformasi, dan pemuatan (ETL). Tampilan materialisasi menyediakan cara sederhana dan deklaratif untuk memproses data untuk kepatuhan, koreksi, agregasi, atau pengambilan data perubahan umum (CDC). Tampilan materialis mengurangi biaya dan meningkatkan kecepatan query dengan melakukan pra-komputasi query lambat dan komputasi yang sering digunakan. Tampilan materialisasi juga memungkinkan transformasi yang mudah digunakan dengan membersihkan, memperkaya, dan mendenormalisasi tabel dasar. Tampilan materialisasi dapat mengurangi biaya sambil memberikan pengalaman pengguna akhir yang disederhanakan karena, dalam beberapa kasus, mereka dapat secara bertahap menghitung perubahan dari tabel dasar.
Tampilan materialisasi pertama kali didukung di Azure Databricks dengan peluncuran DLT. Saat Anda membuat tampilan materialisasi di gudang Databricks SQL, sebuah alur pemrosesan tanpa server dibuat untuk memproses pembaruan ke tampilan materialisasi. Anda dapat memantau status operasi refresh di UI DLT atau alur API. Lihat tampilan status penyegaran tampilan materialisasi.
Persyaratan
Untuk membuat atau memperbarui tampilan materialisasi:
- Anda harus menggunakan gudang SQL pro yang mendukung Unity Catalog atau gudang SQL berbasis serverless.
- Untuk memperbarui tampilan materialis, Anda harus berada di ruang kerja yang membuatnya.
- Ruang kerja Anda harus berada di wilayah yang mendukung gudang SQL tanpa server.
Untuk mengkueri tampilan materialisasi:
- Anda harus menjadi pemilik tampilan materialisasi, atau memiliki
SELECT
pada tampilan materialisasi, bersama denganUSE SCHEMA
danUSE CATALOG
pada induknya. - Anda harus menggunakan salah satu sumber daya komputasi berikut:
- Gudang SQL
- Antarmuka DLT
- Mode standar akses komputasi (sebelumnya mode akses bersama)
- Mode akses khusus (sebelumnya mode akses pengguna tunggal) pada Databricks Runtime 15.4 ke atas, selama ruang kerja diaktifkan untuk komputasi tanpa server. Lihat kontrol akses yang terperinci pada komputasi khusus (sebelumnya komputasi pengguna tunggal).
- Hanya jika Anda adalah pemilik tampilan materialisasi: sumber daya komputasi dengan mode akses khusus yang menjalankan Databricks Runtime versi antara 14.3 dan 15.3.
Untuk mempelajari tentang batasan lain dalam menggunakan tampilan materialisasi, lihat Batasan.
Membuat tampilan materialisasi
Operasi yang menggunakan tampilan materialisasi Databricks SQL memanfaatkan gudang Databricks SQL untuk membuat dan memuat data dalam tampilan materialisasi tersebut. Membuat tampilan materialisasi adalah operasi sinkron, yang berarti perintah CREATE MATERIALIZED VIEW
memblokir hingga tampilan materialisasi dibuat dan beban data awal selesai. Alur DLT tanpa server secara otomatis dibuat untuk setiap tampilan materialisasi Databricks SQL. Ketika tampilan materialisasi diperbarui, alur DLT akan memproses pembaruan tersebut.
Untuk membuat pandangan materialisasi, gunakan perintah CREATE MATERIALIZED VIEW
. Untuk mengirimkan pernyataan buat, gunakan editor SQL di UI Azure Databricks, Databricks SQL CLI, atau Databricks SQL API.
Catatan
Pengguna yang membuat tampilan materialisasi adalah pemilik tampilan materialisasi dan harus memiliki izin berikut:
-
SELECT
hak istimewa pada tabel dasar yang dirujuk oleh tampilan materialisasi. -
USE CATALOG
danUSE SCHEMA
hak istimewa pada katalog dan skema yang berisi tabel sumber untuk tampilan materialisasi. -
USE CATALOG
danUSE SCHEMA
hak istimewa pada katalog target dan skema untuk tampilan materialisasi. -
CREATE TABLE
hak-hak istimewa pada skemaCREATE MATERIALIZED VIEW
yang berisi tampilan materialisasi.
Contoh berikut membuat tampilan mv1
materialisasi dari tabel base_table1
dasar :
CREATE MATERIALIZED VIEW mv1
AS SELECT
date,
sum(sales) AS sum_of_sales
FROM
base_table1
GROUP BY
date;
Komentar kolom pada tabel dasar secara otomatis disebarluaskan ke tampilan materialisasi baru. Untuk menambahkan jadwal, batasan tabel, atau properti lainnya, ubah definisi tampilan materialisasi. Untuk mempelajari detail sintaks untuk menentukan tampilan materialisasi, lihat CREATE MATERIALIZED VIEW.
Mengatur saluran runtime
Tampilan materialisasi yang dibuat menggunakan gudang SQL secara otomatis di-refresh menggunakan alur DLT. Alur DLT menggunakan runtime di saluran current
secara default. Lihat catatan rilis DLT dan proses peningkatan rilis untuk mempelajari 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 DLT 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 foo.default.bar
TBLPROPERTIES ('pipelines.channel' = 'preview') as
SELECT
*
FROM
range(5)
Memuat data dari sistem eksternal
Databricks merekomendasikan pemuatan data eksternal menggunakan Federasi Lakehouse untuk sumber data yang didukung. Untuk informasi tentang memuat data dari sumber yang tidak didukung oleh Federasi Lakehouse, lihat Opsi Format Data.
Merefresh tampilan materialisasi
Operasi REFRESH
memperbarui tampilan materialisasi untuk mencerminkan perubahan terbaru pada tabel dasar. Operasi ini sinkron secara default, yang berarti bahwa perintah memblokir hingga operasi refresh selesai. Untuk me-refresh tampilan materialisasi, gunakan REFRESH MATERIALIZED VIEW
pernyataan . Lihat REFRESH (MATERIALIZED VIEW atau STREAMING TABLE) untuk detail tentang sintaks dan parameter SQL untuk perintah ini. Untuk mempelajari lebih lanjut tentang jenis tampilan materialisasi yang dapat diperbarui secara bertahap, lihat Penyegaran bertahap untuk tampilan materialisasi.
Untuk mengirimkan pernyataan refresh, gunakan editor SQL di UI Azure Databricks, buku catatan yang dilampirkan ke gudang SQL, Databricks SQL CLI, atau Databricks SQL API.
Hanya pemilik yang dapat REFRESH
mewujudkan tampilan.
Contoh berikut menyegarkan tampilan materialisasi mv1
:
REFRESH MATERIALIZED VIEW mv1;
Bagaimana tampilan materialisasi Databricks SQL disegarkan?
Tampilan materialisasi secara otomatis membuat dan menggunakan alur DLT tanpa server untuk memproses operasi refresh. Refresh dikelola oleh alur DLT dan pembaruan dipantau oleh gudang Databricks SQL yang digunakan untuk membuat tampilan materialisasi. Tampilan materialisasi dapat diperbarui menggunakan alur DLT yang berjalan sesuai jadwal. Lihat Mode pipa yang dipicu vs. pipa yang berkelanjutan.
Catatan
Runtime DLT tidak dapat mendeteksi perubahan dalam sumber data non-Delta. Tabel masih diperbarui secara teratur tetapi dengan interval pemicu default yang lebih tinggi untuk mencegah komputasi ulang yang berlebihan memperlambat pemrosesan bertahap yang terjadi pada komputasi.
Secara default, operasi refresh dilakukan secara sinkron. Anda juga dapat mengatur operasi refresh agar terjadi secara asinkron. Ini dapat diatur menggunakan perintah refresh. Lihat REFRESH (MATERIALIZED VIEW atau STREAMING TABLE) Perilaku yang terkait dengan setiap pendekatan adalah sebagai berikut:
- Sinkron: Refresh sinkron mencegah operasi lain melanjutkan hingga refresh selesai. Jika hasilnya diperlukan untuk langkah berikutnya, seperti saat mengurutkan operasi refresh di alat orkestrasi seperti Databricks Jobs, gunakan refresh sinkron. Untuk mengatur tampilan materialisasi dengan pekerjaan, gunakan jenis tugas SQL . Lihat Ringkasan orkestrasi di Databricks.
- Asinkron: Refresh asinkron memulai pekerjaan latar belakang pada DLT compute ketika refresh tampilan materialisasi dimulai, memungkinkan perintah dieksekusi kembali sebelum pemuatan data selesai. Jenis refresh ini dapat menghemat biaya karena operasi tidak selalu menyimpan kapasitas komputasi di gudang tempat perintah dimulai. Jika pembaharuan menjadi tidak aktif dan tidak ada tugas lain yang berjalan, gudang dapat dimatikan saat pembaharuan menggunakan sumber daya komputasi lain yang tersedia. Selain itu, refresh asinkron mendukung memulai beberapa operasi secara paralel.
Beberapa kueri dapat disegarkan secara berkala. Lihat Penyegaran inkremental untuk tampilan materialisasi. Jika refresh inkremental tidak dapat dilakukan, refresh penuh dilakukan sebagai gantinya.
Menjadwalkan penyegaran tampilan termaterialisasi
Anda dapat mengonfigurasi tampilan materialisasi Databricks SQL untuk di-refresh secara otomatis berdasarkan jadwal yang ditentukan. Untuk mengatur jadwal, lakukan salah satu hal berikut ini:
- Konfigurasikan jadwal menggunakan klausa
SCHEDULE
saat Anda membuat tampilan terwujud - Tambahkan jadwal dengan pernyataan ALTER MATERIALIZED VIEW.
Saat jadwal dibuat, pekerjaan Databricks baru secara otomatis dikonfigurasi untuk memproses pembaruan.
Untuk melihat jadwal, lakukan salah satu hal berikut ini:
- Jalankan
DESCRIBE EXTENDED
pernyataan dari editor SQL di antarmuka pengguna Azure Databricks. - Gunakan Catalog Explorer untuk melihat tampilan materialisasi. Jadwal tercantum di tab Gambaran Umum, di bawah Refresh status. Lihat Apa itu Catalog Explorer?.
Menampilkan status refresh tampilan materialisasi
Catatan
Karena pipeline DLT mengelola pembaruan tampilan materialisasi, ada latensi yang disebabkan oleh waktu startup untuk pipeline. Waktu ini mungkin dalam detik hingga menit, selain waktu yang diperlukan untuk melakukan refresh.
Anda dapat melihat status refresh tampilan materialisasi dengan melihat alur yang mengelola tampilan materialisasi di UI DLT atau dengan melihat Refresh Informasi dikembalikan oleh perintah DESCRIBE EXTENDED
untuk tampilan materialisasi.
Anda juga bisa menampilkan riwayat refresh tampilan materialisasi dengan mengkueri log peristiwa DLT. Lihat Tampilkan riwayat refresh untuk tampilan materialisasi.
Memantau eksekusi menggunakan riwayat kueri
Anda bisa menggunakan halaman riwayat kueri untuk mengakses detail kueri dan profil kueri yang dapat membantu Anda mengidentifikasi kueri dan hambatan yang berkinerja buruk di alur DLT yang digunakan untuk menjalankan pembaruan tabel streaming Anda. Untuk gambaran umum jenis informasi yang tersedia untuk riwayat kueri dan profil kueri, lihat Riwayat kueri dan Profil kueri.
Penting
Fitur ini ada di Pratinjau Publik. Admin ruang kerja dapat mengaktifkan fitur ini dari halaman Pratinjau . Lihat Mengelola Pratinjau Azure Databricks.
Semua pernyataan yang terkait dengan tampilan materialisasi muncul dalam riwayat kueri. Anda dapat menggunakan filter drop-down Pernyataan untuk memilih perintah apa pun dan memeriksa kueri terkait. Semua pernyataan CREATE
diikuti oleh pernyataan REFRESH
yang dijalankan secara asinkron pada alur DLT. Pernyataan REFRESH
biasanya mencakup rencana kueri terperinci yang memberikan wawasan tentang mengoptimalkan performa.
Untuk mengakses REFRESH
pernyataan di antarmuka pengguna riwayat kueri, gunakan langkah-langkah berikut:
- Klik
di bilah sisi kiri untuk membuka UI Riwayat Kueri.
- Pilih kotak centang REFRESH dari filter drop-down Pernyataan.
- Klik nama pernyataan kueri untuk menampilkan detail ringkasan seperti durasi kueri dan metrik agregat.
- Klik Lihat profil kueri untuk membuka profil kueri. Untuk detail tentang menavigasi profil kueri, lihat Profil kueri.
- Secara opsional, gunakan tautan di bagian Sumber Kueri untuk membuka kueri atau alur terkait.
Lihat CREATE MATERIALIZED VIEW.
Menampilkan status refresh di antarmuka pengguna DLT
Secara default, alur DLT yang mengelola tampilan materialisasi tidak terlihat di antarmuka pengguna DLT. Untuk melihat alur di UI DLT, Anda harus langsung mengakses tautan ke halaman detail alur. Untuk mengakses tautan:
- Salin dan tempel tautan yang diperlihatkan di baris Terbaru Penyegaran tabel yang dikembalikan oleh perintah
DESCRIBE EXTENDED
. - Pada tab silsilah untuk tampilan materialisasi, klik Alur lalu klik tautan alur.
Untuk perintah asinkron REFRESH
yang dikirimkan menggunakan editor SQL di antarmuka pengguna Azure Databricks, Anda dapat melihat status refresh dengan mengikuti tautan yang ditampilkan di panel Hasil .
Menghentikan refresh aktif
Untuk menghentikan refresh aktif di UI DLT, di halaman detail alur klik Hentikan untuk menghentikan pembaruan alur. Anda juga dapat menghentikan pembaruan dengan Databricks CLI atau operasi POST /api/2.0/pipelines/{pipeline_id}/stop di API Pipelines.
Memperbarui definisi tampilan materialisasi
Untuk memperbarui definisi tampilan materialisasi, Anda harus terlebih dahulu menghilangkannya, lalu membuat ulang tampilan materialisasi.
Menghapuskan rekaman secara permanen dari tampilan materialisasi dengan vektor penghapusan yang diaktifkan
Penting
Dukungan untuk pernyataan REORG
dengan tampilan terwujud tersedia dalam Pratinjau Umum.
Catatan
- Menggunakan pernyataan
REORG
dengan tampilan terwujud memerlukan Databricks Runtime 15.4 atau lebih. - Meskipun Anda dapat menggunakan pernyataan
REORG
dengan tampilan materialisasi apa pun, itu hanya diperlukan saat menghapus rekaman dari tampilan materialisasi dengan vektor penghapusan diaktifkan. Perintah tidak akan berpengaruh ketika digunakan pada tampilan materialisasi yang tidak memiliki vektor penghapusan yang diaktifkan.
Untuk menghapus rekaman secara fisik dari penyimpanan yang mendasari untuk tampilan materialisasi dengan vektor penghapusan diaktifkan, seperti untuk kepatuhan GDPR, langkah tambahan harus diambil untuk memastikan bahwa operasi VACUUM berjalan pada data tampilan materialisasi.
Berikut ini menjelaskan langkah-langkah ini secara lebih rinci:
- Jalankan pernyataan
REORG
terhadap tampilan materialisasi dengan menentukan parameterAPPLY (PURGE)
. Contoh:REORG TABLE <materialized-view-name> APPLY (PURGE);
. Lihat REORG TABLE. - Tunggu hingga periode retensi data tampilan terwujud berlalu. Periode retensi data default adalah tujuh hari, tetapi dapat dikonfigurasi dengan properti tabel
delta.deletedFileRetentionDuration
. Lihat Mengonfigurasi retensi data untuk kueri perjalanan lintas waktu. -
REFRESH
tampilan materialisasi. Lihat Refresh tampilan materialisasi. Dalam waktu 24 jam setelah operasiREFRESH
, tugas pemeliharaan DLT, termasuk operasiVACUUM
yang diperlukan untuk memastikan rekaman dihapus secara permanen, dijalankan secara otomatis. Lihat tugas pemeliharaan yang dilakukan oleh DLT.
Menghilangkan tampilan materialisasi
Catatan
Untuk mengirimkan perintah untuk menghilangkan tampilan materialisasi, Anda harus menjadi pemilik tampilan materialisasi tersebut atau memiliki hak istimewa MANAGE
pada tampilan materialisasi.
Untuk menghilangkan tampilan materialisasi, gunakan pernyataan DROP VIEW. Untuk mengirimkan DROP
pernyataan, Anda dapat menggunakan editor SQL di UI Azure Databricks, Databricks SQL CLI, atau Databricks SQL API. Contoh berikut menghilangkan tampilan materialisasi mv1
:
DROP MATERIALIZED VIEW mv1;
Menjelaskan tampilan materialisasi
Untuk mengambil kolom dan jenis data untuk tampilan terwujud, 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.
Mengubah pemilik tampilan materialis
Anda dapat mengubah pemilik tampilan materialisasi jika Anda adalah admin metastore dan admin ruang kerja. Tampilan materialisasi secara otomatis membuat dan menggunakan alur DLT untuk memproses perubahan. Gunakan langkah-langkah berikut untuk mengubah pemilik tampilan materialisasi:
- Pada tab silsilah untuk tampilan materialisasi, klik Alur lalu klik tautan alur.
- Klik Bagikan. Dialog Pengaturan Izin muncul.
- Klik x di sebelah kanan nama pemilik saat ini untuk menghapus pemilik saat ini.
- Mulai ketik untuk memfilter daftar pengguna yang tersedia. Klik pengguna yang seharusnya menjadi pemilik alur baru.
- Klik Simpan untuk menyimpan perubahan Anda dan menutup dialog.
Semua aset pipa, termasuk tampilan matriks yang ditentukan dalam pipa, dimiliki oleh pemilik pipa baru. Semua pembaruan di masa mendatang dijalankan menggunakan identitas pemilik 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 hak istimewa MANAGE
dapat memberikan hak istimewa SELECT
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.
Memberikan hak istimewa pada pandangan materialisasi
Untuk memberikan akses ke tampilan materialisasi, gunakan pernyataan GRANT
.
GRANT
privilege_type [, privilege_type ] ...
ON <mv_name> TO principal;
privilege_type dapat berupa:
-
SELECT
- pengguna dapatSELECT
mewujudkan tampilan. -
REFRESH
- pengguna dapatREFRESH
mewujudkan tampilan. 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 <base_table>;
GRANT SELECT ON <mv_name> TO user;
GRANT REFRESH ON <mv_name> TO user;
Mencabut hak istimewa dari tampilan materialisasi
Untuk mencabut akses dari tampilan materialisasi, gunakan pernyataan REVOKE
.
REVOKE
privilege_type [, privilege_type ]
ON <name> FROM principal;
Ketika hak istimewa SELECT
pada tabel dasar dicabut dari pemilik tampilan materialisasi atau pengguna lain yang telah diberikan hak istimewa MANAGE
atau SELECT
pada tampilan materialisasi, atau tabel dasar dihilangkan, pemilik tampilan materialisasi atau akses yang diberikan pengguna masih dapat mengkueri tampilan materialisasi. Namun, perilaku berikut terjadi:
- Pemilik tampilan materialisasi atau orang lain yang kehilangan akses ke tampilan materialisasi tidak
REFRESH
lagi dapat melihat materialisasi tersebut, dan tampilan materialisasi akan menjadi kedaluarsa. - Jika diotomatisasi dengan jadwal, jadwal berikutnya
REFRESH
gagal atau tidak dijalankan.
Contoh berikut mencabut SELECT
hak istimewa dari mv1
:
REVOKE SELECT ON mv1 FROM user1;
Mengaktifkan aliran data perubahan
Umpan data perubahan diperlukan pada tabel dasar tampilan materialisasi, kecuali untuk kasus penggunaan tingkat lanjut tertentu. Untuk mengaktifkan ubah umpan data pada tabel dasar, atur delta.enableChangeDataFeed
properti tabel menggunakan sintaks berikut:
ALTER TABLE table1 SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
Menampilkan riwayat refresh untuk tampilan materialisasi
Untuk melihat status operasi REFRESH
pada tampilan terwujud, termasuk refresh saat ini dan sebelumnya, kueri log peristiwa DLT:
SELECT
*
FROM
event_log(TABLE(<fully-qualified-table-name>))
WHERE
event_type = "update_progress"
ORDER BY
timestamp desc;
Ganti <fully-qualified-table-name>
dengan nama tampilan materialisasi yang berkualifikasi lengkap, termasuk katalog dan skema.
Lihat Apa itu log peristiwa DLT?.
Dapatkan informasi terperinci tentang tampilan materialisasi dengan Catalog Explorer
Anda dapat menggunakan Catalog Explorer untuk melihat detail tentang tampilan terematerialisasi.
- Klik ikon 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:
- Memperbarui status dan riwayat
- Skema tabel
- Data sampel (membutuhkan komputasi yang aktif)
- Hak akses
- Silsilah data, termasuk tabel dan alur yang bergantung pada tampilan materialisasi ini
- Wawasan tentang penggunaan
- Monitor yang telah Anda buat untuk tampilan materialisasi ini
Batasan
- Untuk persyaratan komputasi dan ruang kerja, lihat Persyaratan.
- Tampilan materialisasi tidak mendukung kolom identitas atau kunci pengganti.
- Jika tampilan materialisasi menggunakan agregat jumlah atas kolom
NULL
-mampu dan hanyaNULL
nilai yang tetap ada di kolom tersebut, nilai agregat hasil tampilan materialisasi adalah nol bukanNULL
. - Anda tidak dapat membaca aliran data perubahan dari tampilan materialisasi.
- Kueri perjalanan waktu tidak didukung pada tampilan yang dimaterialisasi.
- File dasar yang mendukung tampilan material mungkin menyertakan data dari tabel upstream (termasuk kemungkinan informasi pribadi) yang tidak muncul dalam definisi tampilan material. Data ini secara otomatis ditambahkan ke penyimpanan yang mendasar untuk mendukung penyegaran tampilan materialisasi secara inkremental. Karena file dasar dari tampilan materialisasi mungkin berisiko mengekspos data dari tabel sumber yang bukan bagian dari skema tampilan materialisasi, Databricks merekomendasikan untuk tidak berbagi penyimpanan dasar dengan konsumen hilir yang tidak tepercaya. Misalnya, misalkan definisi tampilan materialisasi menyertakan
COUNT(DISTINCT field_a)
klausul. Meskipun definisi tampilan materialisasi hanya menyertakan klausul agregatCOUNT DISTINCT
, file dasar akan berisi daftar nilai aktualfield_a
.