共用方式為


啟用查詢的掃描統計數據

重要

AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解

您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。

重要

這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需此特定預覽的相關資訊,請參閱 Azure HDInsight on AKS 預覽資訊。 如需問題或功能建議,請在 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。 這讓使用者可以控制他們想要包含在自定義連接器中的商店相關資訊。

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

掃描統計數據 使用者介面

您可以在 [查詢詳細資料] 頁面中找到名為 Scan Stats 的新標籤頁,以呈現此功能所產生的統計數據,並提供每個工作者的分割效能深入解析。 此頁面可讓用戶檢視與 Trino 查詢相關的執行檔案,其中包含並行讀取、吞吐量等隨時間變化的資訊。

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

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

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

使用 Microsoft 查詢記錄器**

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