共用方式為


啟用查詢的掃描統計資料

重要

此功能目前為預覽功能。 Microsoft Azure 預覽版增補使用規定包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。 若需此特定預覽版的相關資訊,請參閱 Azure HDInsight on AKS 預覽版資訊。 如有問題或功能建議,請在 AskHDInsight 上提交要求並附上詳細資料,並且在 Azure HDInsight 社群上追蹤我們以獲得更多更新資訊。

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

適用於 HDInsight on AKS 的 Trino 中新增了新功能,可讓使用者擷取任何連接器的掃描統計資料。 這項功能超越 Trino 所產生的統計資料,可提供更深入的查詢效能設定檔深入解析。

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

SET SESSION collect_raw_scan_statistics=true

啟用後,查詢中的來源運算子 (例如 TableScanOperatorScanFilterAndProject 等) 具有資料掃描的統計資料,細微性是依管線中的每個運算子執行個體而定。

提示

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

注意

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

如何存取掃描統計資料

設定工作階段屬性後,工作階段中的後續查詢會開始從來源運算子擷取統計資料 (只要可用)。 使用者可使用多種方式來取用和分析針對查詢產生的掃描統計資料。

查詢 Json

[查詢詳細資料] 頁面上的 [Json] 索引標籤會提供查詢的 JSON 表示法,其中包含查詢的每個階段、管線統計資料。 設定工作階段屬性時,json 會在 queryStats.operatorSummaries[*] 中包含名為 scanStats 的新欄位。 此陣列中每個運算子執行個體都有一個物件。

下列範例顯示的 json 適用於使用 hive connector 和已啟用掃描統計資料的查詢。

注意

掃描統計資料摘要包含連接器所填入的 splitInfo。 這可讓使用者控制他們想要包含在其自訂連接器中的存放區相關資訊。

顯示查詢效能摘要的螢幕擷取畫面。

掃描統計資料 UI

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

顯示掃描狀態新增的螢幕擷取畫面。

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

顯示掃描狀態索引標籤的螢幕擷取畫面。

使用 Microsoft Query 記錄器**

Microsoft Query 記錄器已內建此功能的支援。 啟用此功能時,查詢記錄器外掛程式會填入名為 operatorstats 的資料表以及查詢事件資料表,此資料表會反正規化,讓每個運算子執行個體對每項查詢有一個資料列。