Apa itu pemberitahuan Databricks SQL?
Pemberitahuan Databricks SQL secara berkala menjalankan kueri, mengevaluasi kondisi yang ditentukan, dan mengirim pemberitahuan jika kondisi terpenuhi. Anda dapat menyiapkan pemberitahuan untuk memantau bisnis Anda dan mengirim pemberitahuan saat data yang dilaporkan berada di luar batas yang diharapkan. Menjadwalkan pemberitahuan menjalankan kueri yang mendasar dan memeriksa kriteria pemberitahuan. Ini tidak bergantung pada jadwal apa pun yang mungkin ada pada kueri yang mendasar.
Penting
- Peringatan yang memanfaatkan kueri dengan parameter menggunakan nilai default yang ditentukan dalam pengeditan SQL untuk setiap parameter.
Melihat dan mengatur pemberitahuan
Gunakan salah satu opsi berikut untuk mengakses pemberitahuan:
- Klik Ruang Kerja di bar samping untuk melihat pemberitahuan di folder Beranda, tempat ruang kerja disimpan secara default. Pengguna dapat mengatur pemberitahuan ke dalam folder di browser ruang kerja bersama dengan objek Databricks lainnya.
- Klik Pemberitahuan di bilah samping untuk melihat halaman daftar pemberitahuan.
Secara default, objek diurutkan dalam urutan kronologis terbalik. Anda dapat menyusun ulang daftar dengan mengklik judul kolom. Klik tab Semua pemberitahuan di dekat bagian atas layar untuk melihat semua pemberitahuan di ruang kerja. Klik tab Pemberitahuan saya untuk melihat pemberitahuan di mana Anda adalah pemiliknya.
- Nama menunjukkan nama karakter dari setiap peringatan.
- Status menunjukkan apakah status peringatan adalah
TRIGGERED
,OK
, atauUNKNOWN
. - Terakhir Diperbarui menampilkan tanggal dan waktu terakhir diperbarui.
- Dibuat pada menampilkan tanggal dan waktu pemberitahuan dibuat.
TRIGGERED
berarti bahwa pada eksekusi terbaru, kolom Nilai dalam kueri target Anda memenuhi Kondisi dan Ambang Batas yang Anda konfigurasikan. Jika peringatan Anda memeriksa apakah "kucing" di atas 1500, peringatan Anda akan dipicu selama "kucing" di atas 1500.OK
berarti bahwa pada eksekusi kueri terbaru, kolom Nilai tidak memenuhi Kondisi dan Ambang Batas yang Anda konfigurasikan. Ini tidak berarti bahwa Pemberitahuan tidak dipicu sebelumnya. Jika nilai “cats” Anda sekarang 1470, pemberitahuan Anda akan ditampilkan sebagaiOK
.UNKNOWN
berarti SQL Databricks tidak memiliki cukup data untuk mengevaluasi kriteria peringatan. Anda akan melihat status ini segera setelah membuat Pemberitahuan Anda dan sampai kueri dijalankan. Anda juga akan melihat status ini jika tidak ada data dalam hasil kueri atau jika hasil kueri terbaru tidak menyertakan Kolom Nilai yang Anda konfigurasikan.
Membuat peringatan
Ikuti langkah-langkah ini untuk membuat peringatan pada kolom tunggal kueri.
Lakukan salah satu hal berikut ini:
- Klik Baru di bilah samping dan pilih Pemberitahuan.
- Klik Pemberitahuan di bar samping dan klik tombol + Pemberitahuan Baru.
- Klik Ruang Kerja di bar samping dan klik + Buat Pemberitahuan.
- Klik menu kebab di sudut kanan atas kueri yang disimpan dan klik + Buat Pemberitahuan.
Di bidang Kueri, cari kueri target.
Untuk memperingatkan beberapa kolom, Anda perlu mengubah kueri. Lihat Agregasi pemberitahuan.
Di bidang Kondisi pemicu, konfigurasikan pemberitahuan.
Kontrol drop-down kolom Nilai bidang mana dari hasil kueri Anda dievaluasi. Kondisi pemberitahuan dapat diatur pada nilai pertama kolom dalam hasil kueri, atau Anda bisa memilih untuk mengatur agregasi di semua baris kolom tunggal, seperti SUM atau AVERAGE.
Drop-down Operator mengontrol operasi logis yang akan diterapkan.
Input teks Nilai ambang dibandingkan dengan kolom Nilai menggunakan Kondisi yang Anda tentukan.
Klik Pratinjau pemberitahuan untuk mempratinjau pemberitahuan dan menguji apakah pemberitahuan akan dipicu dengan data saat ini.
Di bidang Saat pemberitahuan dipicu, kirim pemberitahuan, pilih berapa banyak pemberitahuan yang dikirim saat pemberitahuan Anda dipicu:
- Hanya sekali: Kirim pemberitahuan ketika status peringatan berubah dari
OK
keTRIGGERED
. - Setiap kali peringatan dievaluasi: Kirim pemberitahuan setiap kali status
TRIGGERED
terlepas dari statusnya pada evaluasi sebelumnya. - Sekali setiap: Kirim pemberitahuan setiap kali status peringatan berada
TRIGGERED
pada interval tertentu. Pilihan ini memungkinkan Anda menghindari spam pemberitahuan untuk peringatan yang sering memicu.
Terlepas dari pengaturan pemberitahuan mana yang Anda pilih, Anda menerima pemberitahuan setiap kali status berubah dari
OK
keTRIGGERED
atau dariTRIGGERED
keOK
. Pengaturan jadwal memengaruhi berapa banyak pemberitahuan yang akan Anda terima jika status tetapTRIGGERED
dari satu eksekusi ke eksekusi berikutnya. Untuk detailnya, lihat Frekuensi pemberitahuan.- Hanya sekali: Kirim pemberitahuan ketika status peringatan berubah dari
Di drop-down Pola dasar, pilih pola dasar:
- Gunakan pola dasar default: Pemberitahuan peringatan adalah pesan dengan link ke layar konfigurasi Peringatan dan layar Kueri.
- Gunakan pola dasar kustom: Pemberitahuan peringatan mencakup informasi yang lebih spesifik tentang peringatan.
Sebuah kotak menampilkan, yang terdiri dari bidang input untuk subjek dan tubuh. Konten statik apa pun valid, dan Anda dapat menggabungkan variabel pola dasar bawaan:
ALERT_STATUS
: Status peringatan evaluasi (karakter).ALERT_CONDITION
: Operator kondisi peringatan (karakter).ALERT_THRESHOLD
: Ambang batas peringatan (karakter atau angka).ALERT_COLUMN
: Nama kolom pemberitahuan (string).ALERT_NAME
: Nama peringatan (karakter).ALERT_URL
: URL halaman peringatan (karakter).QUERY_NAME
: Nama kueri terkait (karakter).QUERY_URL
: URL halaman kueri terkait (karakter).QUERY_RESULT_TABLE
: Tabel HTML hasil kueri (string).QUERY_RESULT_VALUE
: Nilai hasil kueri (karakter atau angka).QUERY_RESULT_ROWS
: Baris hasil kueri (array nilai).QUERY_RESULT_COLS
: Kolom hasil kueri (array karakter).
Subjek contoh, untuk instans, bisa:
Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}
.Anda dapat menggunakan HTML untuk memformat pesan dalam templat kustom. Tag dan atribut berikut diizinkan dalam templat:
- Tag:
<a>
, ,<abbr>
,<acronym>
<b>
,<blockquote>
,<body>
,<br>
,<code>
,<div>
,<em>
<h1>
, ,<h2>
, ,<h3>
,<tbody>
<tr>
<td>
<hr>
<th>
<table>
<ol>
<p>
<li>
<i>
<span>
<html>
<strong>
<h4>
<h5
><h6
><head
><ul>
- Atribut: href (untuk
<a>
), judul (untuk<a>
,<abbr>
,<acronym>
)
- Tag:
Klik tombol dwiarah Pratinjau untuk melihat pratinjau hasil yang dirender.
Penting
Pratinjau berguna untuk memverifikasi bahwa variabel pola dasar dirender dengan benar. Ini bukan representasi yang akurat dari konten pemberitahuan akhirnya, karena setiap tujuan pemberitahuan dapat menampilkan pemberitahuan secara berbeda.
Klik tombol Simpan perubahan.
Klik Buat Peringatan.
Klik Tambahkan Jadwal.
- Gunakan pemilih dropdown untuk menentukan frekuensi, periode, waktu mulai, dan zona waktu. Secara opsional, pilih kotak centang Tampilkan sintaks cron untuk mengedit jadwal dalam Sintaks Cron Kuarsa.
- Pilih Opsi lainnya untuk menampilkan pengaturan opsional. Anda juga dapat memilih:
- Nama untuk jadwal.
- Gudang SQL untuk mendukung kueri. Secara default, gudang SQL yang digunakan untuk eksekusi kueri ad hoc juga digunakan untuk pekerjaan terjadwal. Gunakan pengaturan opsional ini untuk memilih gudang lain untuk menjalankan kueri terjadwal.
Klik tab Tujuan di dialog Tambahkan jadwal .
- Gunakan menu drop-down untuk memilih tujuan pemberitahuan yang tersedia. Atau, mulai ketik nama pengguna untuk menambahkan individu.
Penting
Jika Anda melewati langkah ini Anda tidak akan diberi tahu saat peringatan dipicu.
Klik Buat. Detail pemberitahuan dan pemberitahuan tersimpan Anda muncul di layar.
Bagikan jadwal.
- Di sebelah kanan jadwal yang tercantum, pilih menu kebab dan pilih Edit izin jadwal.
- Pilih pengguna atau grup dari menu drop-down dalam dialog.
- Pilih keluar dari izin jadwal berikut:
- TIDAK ADA IZIN: Tidak ada izin yang diberikan. Pengguna tanpa izin tidak dapat melihat bahwa jadwal ada, bahkan jika mereka adalah pelanggan atau disertakan dalam tujuan pemberitahuan yang tercantum.
- CAN VIEW: Memberikan izin untuk melihat hasil eksekusi terjadwal.
- DAPAT MENGELOLA EKSEKUSI: Memberikan izin untuk melihat hasil eksekusi terjadwal.
- CAN MANAGE: Memberikan izin untuk melihat, mengubah, dan menghapus jadwal. Izin ini diperlukan untuk membuat perubahan pada interval eksekusi, memperbarui daftar pelanggan, dan menjeda atau membatalkan jeda jadwal.
- IS OWNER: Memberikan semua izin CAN MANAGE. Selain itu, kredensial pemilik jadwal akan digunakan untuk menjalankan kueri dasbor. Hanya admin ruang kerja yang dapat mengubah pemilik.
Penting
Izin untuk pemberitahuan dan jadwal terpisah. Berikan akses ke pengguna dan grup di daftar tujuan pemberitahuan sehingga mereka dapat melihat hasil eksekusi terjadwal.
Bagikan pemberitahuan.
- Klik di dekat kanan atas halaman.
- Tambahkan pengguna atau grup yang harus memiliki akses ke pemberitahuan.
- Pilih tingkat izin yang sesuai, lalu klik Tambahkan.
Penting
CAN MANAGE memberikan izin untuk melihat, mengubah, dan menghapus jadwal. Izin ini diperlukan untuk membuat perubahan pada interval eksekusi, memperbarui daftar tujuan pemberitahuan, dan menjeda atau membatalkan jeda jadwal.
Untuk informasi selengkapnya tentang tingkat izin pemberitahuan, lihat ACL Pemberitahuan.
Agregasi pemberitahuan
Agregasi pada pemberitahuan berfungsi dengan memodifikasi SQL asli kueri Databricks SQL yang dilampirkan ke pemberitahuan. Pemberitahuan membungkus teks kueri asli dalam ekspresi tabel umum (CTE) dan melakukan kueri agregasi pembungkusan di atasnya untuk menggabungkan hasil kueri.
Sebagai contoh, agregasi SUM
pada pemberitahuan yang dilampirkan ke kueri dengan teks SELECT 1 AS column_name
berarti bahwa setiap kali pemberitahuan di-refresh, SQL yang dimodifikasi yang berjalan adalah: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q
.
Ini berarti bahwa hasil kueri asli (pra-agregat) tidak dapat ditampilkan dalam isi kustom pemberitahuan (dengan parameter seperti QUERY_RESULT_ROWS
dan QUERY_RESULT_COLS
) setiap kali ada agregasi pada pemberitahuan. Sebaliknya, variabel tersebut hanya akan menampilkan hasil kueri pasca-agregasi akhir.
Catatan
Semua kondisi pemicu yang terkait dengan agregasi tidak didukung oleh API.
Pemberitahuan pada beberapa kolom
Untuk mengatur peringatan berdasarkan beberapa kolom kueri, kueri Anda dapat menerapkan logika peringatan dan mengembalikan nilai boolean agar peringatan dapat dipicu. Contohnya:
SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data
Kueri ini kembali 1
saat drafts_count > 10000 and archived_count > 5000
.
Kemudian Anda dapat mengonfigurasi peringatan untuk memicu saat nilainya 1
.
Frekuensi pemberitahuan
Databricks SQL mengirimkan pemberitahuan ke tujuan pemberitahuan yang Anda pilih setiap kali mendeteksi bahwa status Pemberitahuan telah berubah dari OK
ke TRIGGERED
atau sebaliknya.
Pertimbangkan contoh ini di mana Peringatan dikonfigurasi pada kueri yang dijadwalkan berjalan sekali sehari. Status harian Peringatan muncul di tabel berikut.
Sebelum hari Senin status peringatan adalah OK
.
Hari | Status peringatan |
---|---|
Senin | OK |
Selasa | OK |
Rabu | DIPICU |
Kamis | DIPICU |
Jumat | DIPICU |
Sabtu | DIPICU |
Hari Minggu | OK |
Jika frekuensi pemberitahuan diatur ke Just Once
, SQL Databricks mengirimkan pemberitahuan pada hari Rabu ketika status berubah dari OK
ke TRIGGERED
dan lagi pada hari Minggu ketika beralih kembali. Itu tidak mengirim peringatan pada hari Kamis, Jumat, atau Sabtu kecuali Anda secara khusus mengonfigurasinya untuk melakukannya karena status Peringatan tidak berubah di antara eksekusi pada hari-hari itu.
Mengonfigurasi izin pemberitahuan dan mentransfer kepemilikan pemberitahuan
Anda harus memiliki setidaknya izin BISA MENGELOLA pada kueri untuk berbagi kueri. Untuk tingkat izin pemberitahuan, lihat ACL Pemberitahuan.
Di bar samping, klik Pemberitahuan.
Klik peringatan.
Klik tombol di kanan atas untuk membuka dialog Berbagi .
Cari dan pilih grup dan pengguna, dan tetapkan tingkat izin.
Klik Tambahkan.
Mentransfer kepemilikan peringatan
Saat Anda menyimpan peringatan, Anda menjadi pemilik peringatan. Jika pemilik peringatan dihapus dari ruang kerja, peringatan tidak lagi memiliki pemilik. Pengguna admin ruang kerja dapat mentransfer kepemilikan pemberitahuan ke pengguna lain. Perwakilan layanan dan grup tidak dapat diberi kepemilikan pemberitahuan. Anda juga dapat mentransfer kepemilikan menggunakan API Izin.
Sebagai admin ruang kerja, masuk ke ruang kerja Azure Databricks Anda.
Di bar samping, klik Pemberitahuan.
Klik peringatan.
Klik tombol Bagikan di kanan atas untuk membuka dialog Berbagi.
Klik ikon gerigi di kanan atas dan klik Tetapkan pemilik baru.
Pilih pengguna yang akan ditetapkan kepemilikannya.
Klik Konfirmasi.