Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
MENYEGARKAN TAMPILAN YANG TERWUJUD
Menyegarkan tampilan yang terwujud.
Saat Anda membuat tampilan terwujud, isinya mencerminkan keadaan tabel atau tabel database yang mendasarinya pada saat itu. Data dalam tampilan terwujud tetap tidak berubah, bahkan ketika aplikasi membuat perubahan pada data dalam tabel yang mendasarinya.
Untuk memperbarui data dalam tampilan yang terwujud, Anda dapat menggunakan REFRESH MATERIALIZED
VIEW pernyataan kapan saja. Saat Anda menggunakan pernyataan ini, Amazon Redshift mengidentifikasi perubahan yang telah terjadi di tabel atau tabel dasar, dan kemudian menerapkan perubahan tersebut ke tampilan yang terwujud.
Untuk informasi selengkapnya tentang tampilan yang terwujud, lihatTampilan terwujud di Amazon Redshift.
Sintaksis
REFRESH MATERIALIZED VIEW mv_name [ RESTRICT | CASCADE ]
Parameter
- mv_name
-
Nama tampilan terwujud yang akan disegarkan.
- MEMBATASI
-
Kata kunci opsional. Menyegarkan tampilan terwujud yang ditentukan tetapi bukan tampilan terwujud dependen. Default jika tidak ditentukan RESTRICT atau CASCADE.
- KASKADE
-
Kata kunci opsional. Menyegarkan tampilan terwujud yang ditentukan dan semua tampilan terwujud dependen.
Catatan penggunaan
Hanya pemilik tampilan terwujud yang dapat melakukan REFRESH MATERIALIZED
VIEW operasi pada tampilan terwujud itu. Selanjutnya, pemilik harus memiliki hak istimewa SELECT pada tabel dasar yang mendasarinya agar berhasil dijalankanREFRESH
MATERIALIZED VIEW.
Ketika tampilan terwujud memerlukan komputasi ulang penuh, pemilik juga harus memiliki hak istimewa CREATE pada skema yang berisi tampilan terwujud. Komputasi ulang penuh dapat dipicu oleh operasi seperti VACUUM atau TRUNCATE pada tabel dasar.
Per REFRESH MATERIALIZED VIEW intah berjalan sebagai transaksi sendiri. Semantik transaksi Amazon Redshift diikuti untuk menentukan data apa dari tabel dasar yang terlihat oleh REFRESH perintah, atau kapan perubahan yang dibuat oleh REFRESH perintah dibuat terlihat oleh transaksi lain yang berjalan di Amazon Redshift.
-
Untuk tampilan terwujud inkremental, hanya
REFRESH MATERIALIZED VIEWmenggunakan baris tabel dasar yang sudah dikomit. Oleh karena itu, jika operasi refresh berjalan setelah pernyataan bahasa manipulasi data (DML) dalam transaksi yang sama, maka perubahan pernyataan DML tersebut tidak terlihat untuk di-refresh. -
Untuk penyegaran penuh dari tampilan yang terwujud, lihat
REFRESH MATERIALIZED VIEWsemua baris tabel dasar terlihat untuk transaksi penyegaran, sesuai dengan semantik transaksi Amazon Redshift biasa. -
Bergantung pada jenis argumen input, Amazon Redshift masih mendukung penyegaran tambahan untuk tampilan terwujud untuk fungsi berikut dengan jenis argumen input tertentu: DATE (timestamp), DATE_PART (tanggal, waktu, interval, time-tz), DATE_TRUNC (timestamp, interval).
-
Penyegaran tambahan didukung pada tampilan terwujud di mana tabel dasar berada di datashare.
-
Penyegaran tampilan terwujud bersama dari cluster pembagian data jarak jauh tidak didukung untuk tampilan terwujud yang berisi referensi ke tampilan terwujud lainnya, tabel Spectrum, tabel yang ditentukan dalam cluster Redshift atau UDF yang berbeda. Pandangan terwujud seperti itu dapat disegarkan dari cluster lokal (produsen).
Beberapa operasi di Amazon Redshift berinteraksi dengan tampilan yang terwujud. Beberapa operasi ini mungkin memaksa REFRESH MATERIALIZED VIEW operasi untuk menghitung ulang tampilan yang terwujud sepenuhnya meskipun kueri yang mendefinisikan tampilan terwujud hanya menggunakan fitur SQL yang memenuhi syarat untuk penyegaran tambahan. Contoh:
-
Operasi vakum latar belakang mungkin diblokir jika tampilan yang terwujud tidak disegarkan. Setelah periode ambang batas yang ditentukan secara internal, operasi vakum diizinkan untuk berjalan. Ketika operasi vakum ini terjadi, setiap tampilan terwujud dependen ditandai untuk perhitungan ulang pada penyegaran berikutnya (bahkan jika mereka inkremental). Untuk informasi tentang VACUUM, lihatVAKUM. Untuk informasi selengkapnya tentang peristiwa dan perubahan status, lihatSTL_MV_STATE.
-
Beberapa operasi yang diprakarsai pengguna pada tabel dasar memaksa tampilan yang terwujud untuk dihitung ulang sepenuhnya saat operasi REFRESH dijalankan. Contoh operasi tersebut adalah VACUUM yang dipanggil secara manual, perubahan ukuran klasik, operasi ALTER DISTKEY, operasi ALTER SORTKEY, dan operasi truncate. Operasi otomatis dalam beberapa kasus juga dapat mengakibatkan tampilan terwujud dihitung ulang sepenuhnya saat operasi REFRESH dijalankan berikutnya. Misalnya, operasi penghapusan vakum otomatis dapat menyebabkan komputasi ulang penuh. Untuk informasi selengkapnya tentang peristiwa dan perubahan status, lihatSTL_MV_STATE.
Penyegaran bertingkat
Opsi CASCADE menyegarkan tampilan terwujud yang ditentukan dan semua tampilan terwujud dependen, dalam urutan ketergantungan: MV dasar disegarkan sebelum MV di atas (urutan topologi). Ini memungkinkan Anda untuk memperbarui kumpulan tampilan terwujud bersarang dalam satu perintah.
Opsi RESTRICT (default jika RESTRICT atau CASCADE tidak ditentukan) hanya menyegarkan tampilan terwujud yang ditentukan.
Saat menggunakan opsi CASCADE, aturan berikut berlaku:
-
Hanya pemilik tampilan yang terwujud atau superuser yang dapat menjalankan perintah
REFRESH MATERIALIZED VIEW ... CASCADE. -
Jika salah satu tampilan yang terwujud dalam kaskade tidak dapat disegarkan, seluruh operasi kaskade akan berhenti.
Fungsionalitas penyegaran bertingkat hanya didukung untuk MV yang bersarang di atas tampilan lokal dan streaming yang terwujud. Tampilan terwujud dengan jenis sumber lain, seperti Spectrum atau Data Sharing, tidak didukung dalam mode kaskade. CASCADE mengeksekusi refresh dalam satu transaksi untuk semua MV bersarang.
Penyegaran tambahan untuk tampilan yang terwujud dalam datashare
Amazon Redshift mendukung penyegaran otomatis dan inkremental untuk tampilan yang terwujud di datashare konsumen saat tabel dasar dibagikan. Penyegaran tambahan adalah operasi di mana Amazon Redshift mengidentifikasi perubahan pada tabel dasar atau tabel yang terjadi setelah penyegaran sebelumnya dan hanya memperbarui catatan yang sesuai dalam tampilan yang terwujud. Untuk informasi selengkapnya tentang perilaku ini, lihat MEMBUAT TAMPILAN TERMATERIALISASI.
Batasan untuk penyegaran tambahan
Amazon Redshift saat ini tidak mendukung penyegaran tambahan untuk tampilan terwujud yang ditentukan dengan kueri menggunakan salah satu elemen SQL berikut:
-
OUTER JOIN (KANAN, KIRI, atau PENUH).
-
Tetapkan operasi: UNION, INTERSECT, EXCEPT, MINUS.
-
UNION ALL ketika terjadi dalam subquery dan fungsi agregat, atau klausa GROUP BY hadir dalam kueri, atau tampilan terwujud target berisi sortkey.
-
Fungsi agregat: MEDIAN, PERCENTILE_CONT, LISTAGG, STDDEV_SAMP, STDDEV_POP, APPROXIMATE COUNT, APPROXIMATE PERCENTILE, dan fungsi agregat bitwise.
catatan
Fungsi agregat COUNT, SUM, MIN, MAX, dan AVG didukung.
-
Fungsi agregat DISTINCT, seperti DISTINCT COUNT, DISTINCT SUM, dan sebagainya.
-
Fungsi Jendela.
-
Kueri yang menggunakan tabel sementara untuk pengoptimalan kueri, seperti mengoptimalkan subexpressi umum.
-
Subkueri
-
Tabel eksternal merujuk format berikut dalam kueri yang mendefinisikan tampilan terwujud.
-
Danau Delta
-
Hudi
Penyegaran tambahan didukung untuk tampilan terwujud yang ditentukan menggunakan format selain yang tercantum di atas. Untuk informasi selengkapnya, lihat Tampilan terwujud pada tabel danau data eksternal di Amazon Redshift Spectrum.
-
-
Fungsi yang dapat berubah, seperti fungsi tanggal-waktu, fungsi ACAK dan non-stabil yang ditentukan pengguna.
-
Untuk keterbatasan mengenai penyegaran tambahan untuk integrasi Zero-ETL, lihat Per timbangan saat menggunakan integrasi Zero-ETL dengan Amazon Redshift.
-
Mengakses tabel dari lebih dari satu database.
Untuk informasi selengkapnya tentang batasan tampilan terwujud, termasuk efek operasi latar belakang seperti VACUUM pada operasi penyegaran tampilan terwujud, lihat. Catatan penggunaan
Contoh
Contoh berikut menyegarkan tampilan yang ter tickets_mv wujud.
REFRESH MATERIALIZED VIEW tickets_mv;
Contoh berikut menyegarkan tampilan ter products_mv wujud dan semua tampilan terwujud dependen:
REFRESH MATERIALIZED VIEW products_mv CASCADE;