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.
Berlaku untuk:
Databricks SQL
Memungkinkan Anda melakukan salah satu tindakan berikut:
- Tambahkan jadwal atau pemicu untuk me-refresh tabel streaming yang sudah ada.
- Mengubah jadwal refresh atau pemicu yang ada untuk tabel streaming.
- Hilangkan jadwal refresh atau pemicu untuk tabel streaming. Jika tidak ada jadwal atau pemicu, objek perlu di-refresh secara manual untuk mencerminkan data terbaru.
Untuk menambahkan atau mengubah komentar pada tabel streaming, gunakan COMMENT ON.
Catatan
Mengubah dataset yang dibuat oleh pipeline dengan cara yang bertentangan dengan SQL yang mendefinisikannya dapat menyebabkan beberapa perubahan dibatalkan. Lihat Menggunakan ALTER perintah dengan Alur Deklaratif Lakeflow Spark.
Sintaks
ALTER STREAMING TABLE table_name
{
{ ADD | ALTER } schedule
DROP SCHEDULE |
ALTER COLUMN column_clause |
SET ROW FILTER clause |
DROP ROW FILTER |
SET TAGS clause |
UNSET TAGS clause |
}
schedule
{ SCHEDULE [ REFRESH ] schedule_clause |
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ] }
schedule_clause
{ EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
CRON cron_string [ AT TIME ZONE timezone_id ] }
column_clause
column_identifier
{ COMMENT clause |
SET MASK clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parameter-parameternya
-
Nama dari tabel streaming yang akan diubah definisinya. Nama tidak boleh menyertakan spesifikasi temporal.
jadwal
Tambahkan atau ubah
SCHEDULEpernyataan atauTRIGGERpada tabel.Catatan
Anda tidak dapat mengubah jadwal tabel streaming yang dibuat dengan Alur Deklaratif Lakeflow Spark dengan perintah ini. Gunakan pipeline editor.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Untuk menjadwalkan refresh yang terjadi secara berkala, gunakan sintaks
EVERY. Jika sintaksEVERYditentukan, tabel streaming atau tampilan materialisasi di-refresh secara berkala pada interval yang ditentukan berdasarkan nilai yang disediakan, sepertiHOUR,HOURS,DAY,DAYS,WEEK, atauWEEKS. Tabel berikut ini mencantumkan nilai bilangan bulat yang diterima untuknumber.Unit waktu Nilai bilangan bulat HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= W <= 8 Catatan
Bentuk tunggal dan jamak dari unit waktu yang disertakan setara secara semantik.
CRON cron_string [ AT TIME ZONE timezone_id ]Untuk menjadwalkan refresh menggunakan nilai quartz cron. Time_zone_values yang valid diterima.
AT TIME ZONE LOCALtidak didukung.Jika
AT TIME ZONEtidak ada, zona waktu sesi digunakan. JikaAT TIME ZONEtidak ada dan zona waktu sesi tidak diatur, kesalahan akan muncul.SCHEDULEsecara semantik setaraSCHEDULE REFRESHdengan .
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Penting
Fitur ini
TRIGGER ON UPDATEada di Beta.Mengatur tabel untuk di-refresh saat sumber data upstram diperbarui, paling banyak sekali setiap menit. Tetapkan nilai untuk
AT MOST EVERYmemerlukan setidaknya waktu minimum antara refresh.Sumber data upstream harus berupa tabel Delta eksternal atau terkelola (termasuk tampilan materialisasi atau tabel streaming), atau tampilan terkelola yang dependensinya terbatas pada jenis tabel yang didukung.
Mengaktifkan peristiwa file dapat membuat pemicu lebih berkinerja, dan meningkatkan beberapa batasan pada pembaruan pemicu.
trigger_intervaladalah pernyataan INTERVAL yang setidaknya 1 menit.TRIGGER ON UPDATEmemiliki batasan berikut- Tidak lebih dari 10 sumber data upstream per tabel streaming saat menggunakan TRIGGER ON UPDATE.
- Maksimum 1000 tabel streaming atau tampilan materialisasi dapat ditentukan dengan TRIGGER ON UPDATE.
- Klausa
AT MOST EVERYdefault ke 1 menit, dan tidak boleh kurang dari 1 menit.
DROP SCHEDULEMenghapus jadwal dari tabel streaming.
ALTER COLUMN clauseLihat klausa ALTERCOLUMN.
-
Penting
Fitur ini ada di Pratinjau Publik.
Menambahkan fungsi filter baris ke tabel streaming. Semua kueri berikutnya ke tabel streaming menerima subset baris dengan fungsi yang mengevaluasi menjadi boolean
TRUE. Ini dapat berguna untuk tujuan kontrol akses menurun di mana fungsi dapat memeriksa identitas atau keanggotaan grup pengguna yang memanggil untuk menentukan apakah akan memfilter baris tertentu.Filter baris ditambahkan setelah pembuatan hanya disebarkan ke tabel hilir setelah pembaruan berikutnya. Untuk alur berkelanjutan, ini memerlukan mulai ulang alur.
DROP ROW FILTERPenting
Fitur ini ada di Pratinjau Publik.
Menghilangkan filter baris dari tabel streaming, jika ada. Kueri di masa mendatang mengembalikan semua baris dari tabel tanpa pemfilteran otomatis.
SET TAGS ( { tag_name = tag_value } [, ...] )Penting
Fitur ini ada di Pratinjau Publik.
Terapkan tag ke tabel streaming. Anda harus memiliki
APPLY TAGizin untuk menambahkan tag ke tabel streaming.tag_nameSebuah makna harfiah
STRING.tag_nameharus unik dalam tabel streaming.tag_valueSebuah makna harfiah
STRING.
UNSET TAGS ( tag_name [, ...] )Penting
Fitur ini ada di Pratinjau Publik.
Hapus tag dari tabel streaming. Anda harus memiliki
APPLY TAGizin untuk menghapus tag dari tabel streaming.tag_nameSebuah makna harfiah
STRING.tag_nameharus unik dalam tabel streaming.
Klausa ALTER COLUMN
Penting
Fitur ini ada di Pratinjau Publik.
Mengubah properti atau lokasi kolom.
Sintaks
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parameter-parameternya
-
Nama kolom yang akan diubah.
COMMENT commentMengubah deskripsi kolom
column_name.commentharus berupa nilai literalSTRING.SETKlausa MASKMenambahkan fungsi masker kolom untuk menganonimkan data sensitif. Semua kueri berikutnya dari kolom tersebut akan menerima hasil evaluasi fungsi tersebut di atas kolom sebagai pengganti nilai asli kolom. Ini dapat berguna untuk tujuan kontrol akses terperinci di mana fungsi dapat memeriksa identitas atau keanggotaan grup pengguna yang memanggil untuk menentukan apakah akan menyunting nilai tersebut.
Masker kolom yang ditambahkan setelah dibuat hanya akan dipropagasi ke tabel penerus setelah pembaruan berikutnya. Untuk alur berkelanjutan, ini memerlukan mulai ulang alur.
DROP MASKMenghapus masker kolom untuk kolom ini, jika ada. Kueri di masa mendatang dari kolom ini akan menerima nilai asli kolom.
SET TAGS ( { tag_name = tag_value } [, ...] )Terapkan tag ke kolom. Anda harus memiliki
APPLY TAGizin untuk menambahkan tag ke kolom.tag_name
Sebuah makna harfiah
STRING.tag_nameharus unik dalam tabel atau kolom.tag_value
Sebuah makna harfiah
STRING.
UNSET TAGS ( tag_name [, ...] )Hapus tag yang diberikan dari kolom. Anda harus memiliki
APPLY TAGizin untuk menghapus tag dari kolom.tag_name
Sebuah makna harfiah
STRING.tag_nameharus unik dalam tabel atau kolom.
Contoh
-- Adds a schedule to refresh the streaming table whenever its upstream data gets updated.
> ALTER STREAMING TABLE my_st
ADD TRIGGER ON UPDATE;
-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated, with no more than one update per hour.
> ALTER STREAMING TABLE my_st
ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;
-- Alters the schedule to run every one hour.
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE EVERY 1 HOUR;
-- Alters the schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
DROP SCHEDULE;
-- Adds a column comment
> ALTER STREAMING TABLE my_st
ALTER COLUMN column_name COMMENT 'test'