日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Spark SQL診斷

云原生數據倉庫 AnalyticDB MySQL 版推出Spark SQL診斷功能,若您提交的Spark SQL存在性能問題,您可以根據診斷信息快速定位、分析并解決性能瓶頸問題,優化Spark SQL。本文主要介紹如何進行Spark SQL性能診斷以及性能診斷的示例。

前提條件

  • 集群的產品系列為企業版、基礎版或湖倉版

  • 已創建Job型資源組。具體操作,請參見新建資源組

  • 已創建數據庫賬號。

  • 已授權AnalyticDB for MySQL扮演AliyunADBSparkProcessingDataRole角色來訪問其他云資源。具體操作,請參見賬號授權

注意事項

僅支持診斷14天以內且執行成功的Spark SQL。

操作步驟

  1. 登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。

  2. 在左側導航欄,單擊診斷優化 > Spark SQL診斷優化

    查詢列表展示SQL查詢的更多信息,例如具體的SQL語句、查詢提交時間、執行耗時等,詳細說明如下:

    字段名

    字段說明

    操作

    單擊診斷,查看執行詳情,包括詳細SQL語句以及診斷結果。

    SQL

    SQL語句。

    查詢ID

    查詢ID。

    執行ID

    Spark SQL應用中該SQL的順序ID。

    狀態

    SQL語句的執行狀態,包括:

    • 已完成

    • 運行中

    • 失敗

    開始時間

    查詢提交的時間。

    執行耗時

    SQL語句的執行耗時。

    最大算子獨占時間

    算子單獨占用的最大執行時間。

    峰值內存

    查詢消耗的峰值內存。

    掃描數據

    查詢從存儲層返回到計算層的數據量。

  3. 單擊SQL語句對應操作列的診斷

  4. 查詢屬性頁面,單擊執行計劃頁簽來查看目標查詢的執行計劃樹圖。

  5. 在執行計劃樹右側,單擊查詢級別診斷結果,即可直接查看Query級別診斷結果

Query級別診斷結果

AnalyticDB for MySQL的Spark SQL診斷功能可以對Spark SQL查詢的Query級別的信息進行統計,再在統計信息的基礎上進行診斷并提供調優建議。

Join存在數據膨脹

  • 問題

    如果Join算子的輸出行數大于輸入行數,則認為是不合理Join操作,會存在數據膨脹問題。最終導致較多計算資源和內存資源被占用,查詢變慢。

  • 建議:

    優化代碼,例如提前過濾不參與Join的數據,以減少數據計算量。

掃描數據量傾斜

  • 問題

    Spark SQL運行期間掃描多表數據量之間差距過大,會在讀取數據時間上存在長尾效應,影響最終查詢效果。

  • 建議

    通過選擇合適的分布字段來減少表掃描的數據量。