查詢配置檔

您可以使用查詢設定檔,將查詢執行的詳細資料視覺化。 查詢配置檔可協助您針對查詢執行期間的效能瓶頸進行疑難解答。 例如:

  • 您可以將每個查詢工作及其相關計量可視化,例如所花費的時間、已處理的數據列數目、已處理的數據列數,以及記憶體耗用量。
  • 您可以一目了然地識別查詢執行最慢的部分,並評估修改對查詢的影響。
  • 您可以在 SQL 語句中探索並修正常見的錯誤,例如分解聯結或完整表掃描。

重要

在 SQL 查詢的查詢歷程記錄中記錄的時間,只是 SQL 倉儲實際執行查詢的時間。 它不會記錄與準備執行查詢相關的任何其他額外負荷,例如內部佇列,或與數據上傳和下載程式相關的額外時間。

需求

若要檢視查詢配置檔,您必須是查詢的擁有者,或者您必須擁有執行查詢之 SQL 倉儲的 CAN MANAGE 許可權

檢視查詢配置檔

在 SQL 編輯器或筆記本中執行查詢之後,您可以按下輸出底部經過的時間來開啟查詢設定檔。

從編輯器或筆記本輸出開啟查詢歷程記錄

您也可以從查詢歷程記錄檢視查詢設定檔,如下所示:

  1. 檢視 查詢記錄

  2. 按兩下查詢的名稱。 查詢計量的概觀隨即出現。

    查詢執行摘要簡單檢視

  3. 按兩下 [ 查看查詢設定檔]。

    注意

    如果 無法 顯示查詢設定檔,則此查詢沒有可用的配置檔。 查詢配置檔不適用於從查詢快取執行的查詢。 若要規避查詢快取,請對查詢進行簡單變更,例如變更或移除 LIMIT

  4. 若要在圖表檢視中檢視查詢設定檔(預設值),請按兩下 [ 圖形檢視]。 若要以樹狀結構檢視查詢配置檔,請按兩下 [ 樹視圖]。

    • 圖表檢視已優化,可可視化數據從一個節點流向另一個節點的方式。
    • 樹檢視已優化,可快速找出查詢效能的問題,例如識別執行時間最長的運算符。
  5. 在圖表檢視或樹檢視中,您可以按下頁面頂端的其中一個索引標籤,以檢視每個查詢工作的詳細數據。

    • 花費的時間:每個作業的所有工作所花費的運行時間總和。
    • 數據列:受每個查詢工作影響的數據列數目和大小。
    • 尖峰記憶體:每個查詢所耗用工作的尖峰記憶體。

    注意

    某些非 Photon 作業會以群組的形式執行,並共用一般計量。 在此情況下,所有子工作的值都與指定計量的父工作相同。

  6. 在圖表檢視中,如果工作有子工作,請按兩下節點以顯示其詳細數據。 在樹檢視中,您可以按兩下 > 以展開它。

  7. 會顯示每個工作的作業。 根據預設,某些作業的工作和計量會隱藏。 這些作業不太可能是效能瓶頸的原因。 若要查看所有作業的資訊,以及查看其他計量,請按下 垂直省略號 頁面頂端,然後按兩下 [ 啟用詳細資訊模式]。 最常見的作業包括:

    • 掃描:數據是從數據源讀取,並以數據列的形式輸出。
    • 結:多個關聯的數據列已結合(交錯)成單一數據列集。
    • 聯集:使用相同架構之多個關聯的數據列會串連成單一數據列集。
    • 隨機顯示:數據已重新散發或重新分割。 隨機運算對於資源而言很昂貴,因為它們會在叢集上的執行程式之間移動數據。
    • 哈希/排序:數據列是由索引鍵分組,並使用 、、SUMCOUNTMAX每個群組內的聚合函數進行評估。
    • 篩選:輸入會根據子句等 WHERE 準則進行篩選,並傳回數據列的子集。
    • (重複使用)Exchange:隨機或廣播 Exchange 可用來根據所需的數據分割,在叢集節點之間轉散發數據。
    • 收集限制:使用 LIMIT 語句截斷傳回的數據列數目。
    • 採用已排序和專案:傳回查詢結果的前 N 個數據列。
  8. 若要在 Apache Spark UI 中檢視查詢配置檔,請按下 垂直省略號 頁面頂端,然後按兩下 [在 Spark UI 中開啟]。

  9. 若要關閉匯入的查詢配置檔,請按下 頁面頂端的 [X ]。

如需查詢配置檔中可用資訊的詳細資訊,請參閱 檢視查詢配置檔的詳細數據。

檢視查詢配置檔的詳細數據

查詢配置檔會以反向順序列出查詢的最上層工作,最後一個工作會先列出。 左邊有三個數據行會顯示工作順序、作業名稱,以及該工作所選計量的圖表。 請遵循下列步驟,熟悉查詢配置檔的不同部分。

  1. 按兩下 [ 時間 ] 以查看每個子任務的持續時間。
  2. 按兩下 [ 資料列 ] 以查看查詢傳回的數據列數目和大小。
  3. 按兩下 [ 記憶體 ] 以查看每個查詢工作所耗用的記憶體。 如果工作有子工作,您可以按下 > 以查看每個子工作的詳細數據。
  4. 在右側,按兩下 [概 觀] 以查看查詢的 SQL 語句、狀態、開始和結束時間、持續時間、執行查詢的使用者,以及執行查詢的倉儲。
  5. 按兩下工作可檢視工作的詳細數據,例如工作的描述和工作持續時間、記憶體耗用的計量、傳回的數據列數目和大小,以及譜系。
  6. 若要關閉子工作詳細數據,請按兩下 [ X]。
  7. 按兩下 SQL 倉儲的名稱,以移至該倉儲的屬性。
  8. 若要在 Apache Spark UI 中檢視查詢配置檔,請按下 垂直省略號 頁面頂端,然後按兩下 [在 Spark UI 中開啟]。
  9. 若要關閉查詢設定檔,請按下 頁面頂端的 [X ]。

共用查詢配置檔

若要與另一位使用者共享查詢設定檔:

  1. 檢視 查詢記錄
  2. 按兩下查詢的名稱。
  3. 若要共用查詢,您有兩個選項:
    • 如果其他使用者具有查詢的 CAN MANAGE 許可權,您可以與他們共用查詢配置檔的 URL。 按一下 [共用]。 URL 會複製到剪貼簿。
    • 否則,如果其他用戶沒有 CAN MANAGE 許可權或不是工作區的成員,您可以將查詢配置檔下載為 JSON 物件。 下載。 JSON 檔案會下載到您的本機系統。

匯入查詢配置檔

若要匯入查詢設定檔的 JSON:

  1. 檢視 查詢記錄

  2. 單擊右上方的 Kebab 功能表垂直省略號,然後選取 [匯入查詢配置檔] [JSON]。

  3. 在檔案瀏覽器中,選取與您共用的 JSON 檔案,然後按兩下 [ 開啟]。 JSON 檔案會上傳並顯示查詢配置檔。

    當您匯入查詢配置檔時,它會動態載入瀏覽器會話,而不會儲存在您的工作區中。 每次您想要檢視時,都需要重新匯入它。

  4. 若要關閉匯入的查詢配置檔,請按下 頁面頂端的 [X ]。

下一步