共用方式為


啟用查詢的掃描統計數據

重要

此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群取得更多更新。

數據小組通常需要調查效能或優化查詢,以改善資源使用率或符合商務需求。

AKS 上的 Trino for HDInsight 已新增新功能,可讓使用者擷取任何連接器的掃描統計數據。 這項功能提供查詢效能配置檔的深入解析,超越 Trino 所產生的統計數據。

您可以使用工作階段屬性collect_raw_scan_statistics來啟用此功能,並遵循 Trino 命令:

SET SESSION collect_raw_scan_statistics=true

啟用之後,查詢中的來源運算符,例如 TableScanOperatorScanFilterAndProject 等具有數據掃描的統計數據,數據粒度是管線中的每個運算符實例。

提示

掃描統計數據有助於識別叢集或查詢不受 CPU 限制時的瓶頸,以及查詢的讀取效能需要調查。 它也有助於從分割層級的觀點了解查詢的執行配置檔。

注意

目前,每個背景工作角色擷取的分割數目限制為1000,因為產生的數據的大小限制。 如果查詢的每個背景工作角色分割數目超過此限制,則會傳回前 1000 個執行時間最長的分割。

如何存取掃描統計數據

設定會話屬性之後,會話中的後續查詢就會開始擷取來源運算子的統計數據,只要有可用。 用戶可以使用多種方式來取用和分析針對查詢產生的掃描統計數據。

查詢 Json

[查詢詳細數據] 頁面上的 [Json] 索引標籤會提供查詢的 JSON 表示法,其中包含查詢的每個階段、管線上的統計數據。 設定會話屬性時,json 會在 中包含queryStats.operatorSummaries[*]名為 scanStats 的新欄位。 數位會在每個運算子實例中包含一個物件。

下列範例示範使用 hive connector 查詢的 json,並啟用掃描統計數據。

注意

掃描統計數據摘要包含連接器所填入的splitInfo。 這可讓使用者控制他們想要包含在自定義連接器中的存放區相關信息。

顯示查詢效能摘要的螢幕快照。

掃描統計數據UI

您可以在 [查詢詳細數據] 頁面中找到名為 Scan Stats 的新索引標籤,以可視化此功能所產生的統計數據,並提供每個背景工作角色分割效能的深入解析。 此頁面可讓用戶檢視查詢的執行配置檔,其中包含一段時間和輸送量的並行讀取等資訊。

顯示掃描狀態新增的螢幕快照。

下列範例顯示已啟用掃描統計數據的查詢頁面。

顯示掃描狀態索引標籤的螢幕快照。

使用 Microsoft Query 記錄器**

Microsoft Query 記錄器 已內建此功能的支援。 使用這項功能啟用時,查詢記錄器外掛程式會填入名為 operatorstats 的數據表以及查詢事件數據表,此數據表會反正規化,讓每個運算符實例針對每個查詢各一個數據列。