共用方式為


Databricks SQL 警示

重要

這項功能位於 測試版 (Beta) 中。

此頁面提供啟用和使用 Databricks SQL 警示的逐步指引,以在符合這些條件時自動執行查詢、評估自定義條件,以及傳遞通知。 透過警示,您可以主動監視您的商務數據,並在報告值落在預期閾值之外時及時接收通知。 當您排程警示時,會執行其相關聯的查詢並檢查警示準則,而不論基礎查詢是否已有任何現有的排程。 此外,您可以存取警示歷程記錄,以檢閱過去的警示評估結果。

若要瞭解如何改用舊版警示,請參閱 什麼是舊版警示?

在您的工作區中啟用警示

對於大多數客戶,工作區管理員可以從 [預覽] 頁面控制此預覽的工作區存取權。 如果您在工作區中看不到此版本的警示,請連絡 Databricks 帳戶小組。

啟用此預覽不會影響您現有的警示;您可以同時使用這些警示和舊版警示。

檢視及組織警示

按兩下提要欄位中的 [ 警示圖示警示 ] 以開啟警示清單頁面。

警示清單頁面。

  • [ 警示] 索引標籤預設為開啟,並顯示工作區中的所有警示。 您可以輸入名稱來篩選。 按一下 [僅限我的提示] 以僅顯示您是擁有者的提示。

  • 舊版警示 標籤顯示使用先前警示系統建立的警示。

  • 名稱 會顯示每個警示的字串名稱。

  • 狀態 會顯示警示狀態 TRIGGERED為、 OKUNKNOWN

  • 排程 會顯示上次更新的時間或日期。

  • 擁有者 會顯示擁有警示的人員用戶名稱。

  • 建立時間 會顯示警示建立的日期和時間。

    • TRIGGERED表示在最近的執行中,目標查詢中的 [值] 資料行符合您所設定的條件和臨界值。 如果您的警示會檢查「貓」是否超過1500,只要「貓」超過1500,就會觸發警示。
    • OK 表示在最近的查詢執行中, [值 ] 資料行不符合您設定的 [條件 ] 和 [閾值 ]。 這並不表示先前未觸發 警示 。 如果您的「貓」值現在是 1470,您的警示會顯示為 OK
    • UNKNOWN 表示 Databricks SQL 沒有足夠的數據來評估警示準則。 此狀態會在建立警示之後立即出現,並維持在查詢執行之前。 如果查詢結果中沒有數據,或最新的查詢結果 不包含您設定 的值數據行,也會使用此狀態。
    • ERROR 表示警示評估期間發生錯誤。

建立警示

本節中的步驟將逐步引導您建立如下圖所示的警示。 使用標籤和說明來瞭解每個元件。

建立警示UI會以識別不同元件的編號標籤來顯示。

  1. 數據集: 撰寫並測試您想要警示的查詢。
  2. 條件: 選取應觸發警示通知的值閾值。 您可以執行查詢來測試本節中的條件。
  3. 排程: 設定定期的時間表以執行警示。
  4. 通知: 當臨界值超出預期範圍時,應通知使用者或通知目的地以發出警示。
  5. 高深: 使用進階設定來警示特殊值和條件。

重要

在 Beta 期間,警示不支援具有 參數的查詢。 請參閱 什麼是舊版警示?

使用下列步驟來建立警示:

  1. 點擊側邊欄中的 警示圖示,然後點擊建立警示

  2. 數據集 編輯器中複製並貼上下列查詢。

    SELECT
      to_date(tpep_pickup_datetime) as date,
      SUM(fare_amount) as amount
    FROM
      `samples`.`nyctaxi`.`trips`
    GROUP BY
      ALL
    ORDER BY
      1 DESC
    
    
  3. 在 [ 條件] 欄位中,設定應觸發警示的條件。

    已套用設定的條件欄位,如下列文字所示。

    套用下列設定,如下所示:

    • 選取 [總和 ] 作為要檢查的數據值。 警示條件可以在查詢結果中數據行的第一個值上設定,或者您可以選擇設定單一數據行所有數據列的匯總,例如 SUM 或 AVERAGE。
    • 選取 [數量 ] 作為要檢查的數據行。
    • 選取 > [大於] 作為要套用的邏輯運算符。
    • 將臨界值設定為 Static value 4000。 默認會選取靜態值。 在 [值] 欄位中輸入 4000。
  4. 按兩下 [測試條件 ] 預覽警示,並測試警示是否會以目前數據觸發。 提供的設定應該觸發警示。 您可以變更臨界值以進一步測試。

  5. 使用 排程 下拉功能表來設定警示,使其從每小時的第 0 分鐘開始,每隔5分鐘執行一次。 選擇性地選取 [顯示 cron 語法] 複選框,以編輯 [Quartz Cron 語法] 中的排程。

  6. 在 [ 通知] 區 段中,搜尋您的用戶名稱,並在出現時按兩下它。

  7. 按一下 [建立]。

系統會儲存您的警示,並會在您提供的排程上執行。 此範例中使用的數據是靜態的,因此,如果您的 測試條件 傳回為 觸發,下次執行時會再次傳回。 您會收到電子郵件通知作為警示。 如果 測試條件 傳回 [確定],則不會傳送任何通知。

檢閱警示詳細數據

隨即開啟頁面以顯示您的警示詳細數據。 此外,警示紀錄會顯示評估歷程的詳細資料。 按兩下 [ 立即執行 ] 按鈕,以不小心執行警示查詢,並在此畫面上傳回結果。

按兩下頁面右上角的 [編輯 ],繼續編輯警示。

進階設定

按兩下 [ 進階設定 ] 以套用下列設定:

  • 在確定時通知: 當警示傳回為 OK時傳送通知。

  • 通知頻率: 定期傳送警示通知,直到狀態傳回 OK

  • 空的結果狀態: 當查詢未傳回任何結果時,設定要傳回的特殊狀態。

  • 範本: 您可以選擇使用預設樣本或自訂範本來傳送通知。 下列清單說明每個樣本類型:

    • 使用預設範本:警示通知是訊息,其中包含 [警示設定] 畫面和 [查詢] 畫面的連結。

    • 使用自定義範本:警示通知包含警示的更具體資訊。

      1. 方塊會顯示,其中包含主旨和本文的輸入欄位。 任何靜態內容都是有效的,而且您可以納入內建範本變數:

        • ALERT_STATUS:評估的警示狀態(字串)。
        • ALERT_CONDITION:警示條件運算符(字串)。
        • ALERT_THRESHOLD:警示閾值(字串或數位)。
        • ALERT_COLUMN:警示資料行名稱(字串)。
        • ALERT_NAME:警示名稱(字串)。
        • ALERT_URL:警示頁面 URL (字串)。
        • QUERY_NAME:相關聯的查詢名稱(字串)。
        • QUERY_URL:相關聯的查詢頁面 URL(字串)。
        • QUERY_RESULT_TABLE:查詢結果 HTML 數據表(字串)。 結果僅限於前 100 個數據列。 只有電子郵件通知目的地可以轉譯 HTML。
        • QUERY_RESULT_VALUE:查詢結果值(字串或數位)。
        • QUERY_RESULT_ROWS:查詢結果數據列(值陣列)。
        • QUERY_RESULT_COLS:查詢結果數據行(字串陣列)。

        例如,例如,範例主旨可能是: Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}

      2. 您可以使用 HTML 來格式化自訂範本中的訊息。 只有電子郵件通知目的地可以轉譯 HTML。 樣本中允許下列標籤和屬性:

        • 標記:<a><abbr>、、 <acronym><b><blockquote><body><br><code><div><em><h1><h2><h3><h4><h5><h6><head><hr><html><i><li><ol><p><span><strong><table><tbody><td><th><tr><ul>
        • 屬性:href(適用於 ),標題(針對 <a><a><abbr><acronym>
      3. 按兩下 [ 預覽] 切換按鈕,預覽轉譯的結果。

        重要

        預覽適用於驗證範本變數是否正確轉譯。 這不是最終通知內容的準確表示法,因為每個通知目的地可以以不同的方式顯示通知。

工作區管理員可以設定新的通知目的地。 請參閱 管理通知目的地

警示匯總

警示匯總的運作方式是修改附加至警示之 Databricks SQL 查詢的原始 SQL。 警示會在通用數據表表示式 (CTE) 中包裝原始查詢文字,並在其上執行包裝匯總查詢,以匯總查詢結果。

例如, SUM 附加至含有文字 SELECT 1 AS column_name 之查詢的警示匯總表示每當重新整理警示時,執行的修改 SQL 會是: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q

這意味著每當警示進行匯總時,(未匯總的)原始查詢結果都無法顯示在警示的自定義本文中(如 QUERY_RESULT_ROWSQUERY_RESULT_COLS等參數)。 相反地,這些變數只會顯示最終的匯總后查詢結果。

注意

API 不支援所有與匯總相關的觸發條件。

多個欄位的警報

若要根據查詢的多個數據行設定警示,您的查詢可以實作警示邏輯,並傳回要觸發之警示的布爾值。 例如:

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

當 時1,此查詢會傳drafts_count > 10000 and archived_count > 5000回 。 然後,您可以設定警示,以在值為 1時觸發。

計量檢視警示

因為計量檢視是設計來追蹤及測量核心商務計量,所以它們與警示配對良好,因此您可以在計量超出預期範圍時自動收到通知。 計量檢視的警示的運作方式與任何其他數據集上的警示相同。 當您撰寫查詢來設定查詢時,請使用您想要監視之計量檢視的完整名稱。

設定警示許可權並轉移警示擁有權

如需警示許可權等級,請參閱 警示 ACL

  1. 在提要欄位中,按兩下 [ 警示]。

  2. 按兩下警示。

  3. 按兩下警示詳細資料頁面右上角的 [共用 ] 以開啟 [共用] 對話方塊。

    管理警示許可權

  4. 搜尋並選取群組和使用者,並指派許可權等級。

  5. 按一下新增

轉移警示的擁有權

當您儲存警示時,您會成為警示的擁有者。 如果警示的擁有者已從工作區中移除,警示就不會再擁有擁有者。 工作區系統管理員使用者可以將警示的擁有權轉移給不同的使用者。 服務主體和群組無法指派警示的擁有權。 您也可以使用 權限 API 來轉移所有權。

  1. 身為工作區管理員,登入您的 Azure Databricks 工作區。

  2. 在提要欄位中,按兩下 [ 警示]。

  3. 按兩下警示。

  4. 按下右上方的 [共用] 按鈕,以開啟 [共用] 對話方塊。

  5. 按下右上方的 [齒輪] 圖示,然後按下 [指派新擁有者]

    指派新的擁有者

  6. 選取要指派擁有權的使用者。

  7. 按一下 [確認]