Bagikan melalui


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:

  • Ikon Ruang Kerja 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.
  • Ikon Pemberitahuan 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, atau UNKNOWN.
  • 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 sebagai OK.
    • UNKNOWNberarti 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.

  1. Lakukan salah satu hal berikut ini:

    • Klik Ikon Baru Baru di bilah samping dan pilih Pemberitahuan.
    • Klik Ikon Pemberitahuan Pemberitahuan di bar samping dan klik tombol + Pemberitahuan Baru.
    • Klik Ikon Ruang Kerja Ruang Kerja di bar samping dan klik + Buat Pemberitahuan.
    • Menu kebab Klik menu kebab di sudut kanan atas kueri yang disimpan dan klik + Buat Pemberitahuan.
  2. Di bidang Kueri, cari kueri target.

    Kueri target

    Untuk memperingatkan beberapa kolom, Anda perlu mengubah kueri. Lihat Agregasi pemberitahuan.

  3. 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.

      Agregasi peringatan

    • Drop-down Operator mengontrol operasi logis yang akan diterapkan.

    • Input teks Nilai ambang dibandingkan dengan kolom Nilai menggunakan Kondisi yang Anda tentukan.

    Kondisi pemicu

  4. Klik Pratinjau pemberitahuan untuk mempratinjau pemberitahuan dan menguji apakah pemberitahuan akan dipicu dengan data saat ini.

  5. 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 ke TRIGGERED.
    • 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 ke TRIGGERED atau dari TRIGGERED ke OK. Pengaturan jadwal memengaruhi berapa banyak pemberitahuan yang akan Anda terima jika status tetap TRIGGERED dari satu eksekusi ke eksekusi berikutnya. Untuk detailnya, lihat Frekuensi pemberitahuan.

  6. 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.
      1. 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}}.

      2. 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>)
      3. 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.

      4. Klik tombol Simpan perubahan.

  7. Klik Buat Peringatan.

  8. 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.
  9. Klik tab Tujuan di dialog Tambahkan jadwal .

    Tab Tujuan dalam dialog pengaturan

    Penting

    Jika Anda melewati langkah ini Anda tidak akan diberi tahu saat peringatan dipicu.

  10. Klik Buat. Detail pemberitahuan dan pemberitahuan tersimpan Anda muncul di layar.

    Pemberitahuan tersimpan

  11. Bagikan jadwal.

    • Di sebelah kanan jadwal yang tercantum, pilih Menu kebab 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.

  12. Bagikan pemberitahuan.

    • Klik Tombol Bagikan 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.

  1. Di bar samping, klik Pemberitahuan.

  2. Klik peringatan.

  3. Klik tombol Tombol Bagikan di kanan atas untuk membuka dialog Berbagi .

    Mengelola izin pemberitahuan

  4. Cari dan pilih grup dan pengguna, dan tetapkan tingkat izin.

  5. 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.

  1. Sebagai admin ruang kerja, masuk ke ruang kerja Azure Databricks Anda.

  2. Di bar samping, klik Pemberitahuan.

  3. Klik peringatan.

  4. Klik tombol Bagikan di kanan atas untuk membuka dialog Berbagi.

  5. Klik ikon gerigi di kanan atas dan klik Tetapkan pemilik baru.

    Tetapkan pemilik baru

  6. Pilih pengguna yang akan ditetapkan kepemilikannya.

  7. Klik Konfirmasi.