隨著MaxCompute的深入使用,會出現對MaxCompute的表有很多重復查詢的情況,并且不同使用者之間互相不知道其他人也在使用同樣的計算邏輯。為了提高用戶的計算效率、減少重復計算,同時加速用戶計算。MaxCompute提供物化視圖智能計算加速,為您智能分析推薦創建物化視圖。本文為您介紹如何通過智能分析創建物化視圖。
使用限制
只支持在單個項目內做智能分析推薦,不支持跨項目或多項目聯合分析推薦。
為了更精準地生成物化視圖推薦,開啟物化視圖推薦后,需要滿足以下條件,才能在物化視圖推薦頁面查看到相關推薦。
周期任務連續運行3天以上。
公共子查詢中的輸入數據量大于1000000行。
公共子查詢中需要包含JOIN或AGG(聚合,Aggregation)等涉及數據重組計算的運算符。
當前物化視圖推薦功能僅支持華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華南1(深圳)、西南1(成都)、德國(法蘭克福)地域。
使用方式
查看物化視圖推薦
您可以在物化視圖推薦頁簽查看在當前地域所有項目或指定項目下創建推薦物化視圖后可受益的作業影響面及推薦詳情,以輔助您決策是否采納推薦建議。
登錄MaxCompute控制臺,在左上角選擇地域。
在左側導航欄選擇工作區 > 物化視圖。
在物化視圖頁面,單擊物化視圖推薦。
在物化視圖推薦頁簽,填寫如下篩選參數。查看是否有可推薦的物化視圖生成項。
參數
說明
項目名稱
在下拉列表中選擇MaxCompute項目名稱。
源表名稱
輸入表名稱,支持模糊搜索。也可以輸入多個表名稱,使用半角逗號
(,)
間隔。分析時間區間
選擇起始和截止時間,篩選指定日期區間的公共子查詢。
在可推薦的物化視圖生成項中,您可以查看如下信息:
影響面指標:
指標
說明
預估每日可受益作業數
創建推薦的物化視圖后預估每天可以受益的作業數量。
可受益作業當前的CU時消耗及占比/天
創建推薦的物化視圖后,預估能夠受益的作業當前每天的CU時消耗量以及占所有作業每天的CU時消耗量的比例,該比例越高表示影響面越大。
可受益作業當前的計算量消耗及占比/天
創建推薦的物化視圖后,預估能夠受益的作業當前每天的計算量(掃描量*復雜度)占所有作業每天的計算量(掃描量*復雜度)的比例,該比例越高表示影響面越大。
預估創建所有MV需要的計算量
創建推薦的物化視圖需要產生一次性資源消耗,當創建MV時使用按量付費計算資源運行會產生相應計算成本,您可以依據此計算量(掃描量*復雜度)估計創建成本。
公共子查詢列表,列表說明如下:
列名稱
說明
物化視圖摘要
公共子查詢的摘要信息。
Aggregate表示推薦的公共子查詢是否包含聚合操作。
Inputs列出公共子查詢使用的所有源表名稱。
單擊目標摘要信息,可以進入公共子查詢詳情面板查看當前公共子查詢被重復使用的作業和SQL腳本信息,包含如下內容:
公共子查詢編號:后臺自動生成的唯一編號,用來關聯物化視圖。
公共子查詢:公共子查詢的SQL腳本。
單擊按鈕展開或者全屏查看SQL腳本。
單擊按鈕復制SQL腳本。
單擊按鈕下載SQL腳本。
原始SQL列表:目前只會展示最近5天原始使用過該子查詢的作業實例,包括如下內容:
Instance ID:執行過該子查詢的原始作業實例ID。
提交任務項目名稱:執行作業實例的項目名稱。
提交人:作業的提交人。
執行時間(s):子查詢的執行時間,單位為秒。
原始查詢SQL:可執行如下操作。
查看詳情:單擊查看SQL詳情。
下載:單擊下載對應的SQL。
項目
發起作業包含該公共子查詢的項目。
推薦指數
推薦創建物化視圖指數。1星到5星,星數越多表示越推薦創建物化視圖。
可受益作業數
當前公共子查詢被多少其他作業使用。
掃描量
當前公共子查詢的數據掃描量。
復雜度
當前公共子查詢的復雜度。
創建該MV所需要的計算量
創建該物化視圖所需要的計算量=當前公共子查詢的數據掃描量*當前公共子查詢的復雜度。
分析時間
當前公共子查詢的推薦分析時間。
包含操作
包含連接操作:SQL中帶有多表連接。
包含聚合操作:SQL中帶有聚合操作。
支持過濾。
創建狀態
當前公共子查詢是否已經創建物化視圖。
操作
對于創建狀態為未創建的公共子查詢可執行的操作:創建物化視圖。單擊進入物化視圖創建面板。
對于創建狀態為已創建的公共子查詢可執行的操作:查看物化視圖。單擊進入物化視圖詳情頁。
創建物化視圖
您可以結合實際業務需要與推薦詳情,在物化視圖推薦頁面,選擇是否創建物化視圖。如需創建,步驟如下:
單擊操作列的創建物化視圖。
在創建物化視圖頁面中配置物化視圖的具體參數。
參數
說明
物化視圖名稱
默認填寫的是
rec_mv_{$project_name}_{$timestamp}
,建議您根據自身需要自定義物化視圖名稱,以字母或數字開頭,包含字母、數字和下劃線(_)。刷新方式
可選值如下:
固定時間間隔刷新:按照固定分鐘、小時或天來更新物化視圖數據。
時間管理Cron模式:采用通用Cron模式定義物化視圖數據更新。
腳本
推薦創建物化視圖的SQL腳本。
單擊按鈕展開或者全屏查看SQL腳本,
單擊按鈕復制SQL腳本。
單擊按鈕下載SQL腳本。
單擊確定,立即創建物化視圖。
創建物化視圖將涉及存儲成本,其存儲價格及計算方式與普通表相同。此外,當創建物化視圖時,若采用按量付費計算資源進行運行,還會產生相應的計算成本。可以根據此計算量(掃描量*復雜度)來估算創建成本。
管理物化視圖并查看實際收益
登錄MaxCompute控制臺,在左上角選擇地域。
在左側導航欄選擇工作區 > 物化視圖。
在物化視圖頁面,單擊物化視圖管理及收益。
選擇目標MaxCompute項目和收益統計區間,可以查看已創建的物化視圖列表及收益,并管理物化視圖。
收益指標說明。
指標
說明
命中次數
物化視圖在收益統計區間內的被調用次數。
節省計算時長
所有命中所選項目物化視圖的作業在收益統計區間內的計算時長相較于創建物化視圖前計算時長的節省值。
節省CU時
所有命中所選項目物化視圖的作業在收益統計區間內的CU時消耗相較于創建物化視圖前CU時消耗的節省值。
節省計算量
所有命中所選項目物化視圖的作業在收益統計區間內的計算量(掃描量*復雜度)相較于創建物化視圖前計算量(掃描量*復雜度)的節省值。僅統計使用按量付費計算資源運行的作業。
節省計算費用(目錄價)
所有命中所選項目物化視圖的作業節省計算量*0.3元/GB(按量付費標準版SQL計算單價)。
物化視圖列表說明。
列名稱
說明
物化視圖名稱
物化視圖的名稱。
命中次數
物化視圖在收益區間內(自MV創建以來或最近1天)被調用的次數。
節省計算時長
命中該物化視圖的作業在收益統計區間內的計算時長相較于創建物化視圖前計算時長的節省值。
節省CU時
命中該物化視圖的作業在收益統計區間內的CU時消耗相較于創建物化視圖前CU時消耗的節省值。
節省計算量
命中該物化視圖的作業在收益統計區間內的計算量(掃描量*復雜度)相較于創建物化視圖前計算量(掃描量*復雜度)的節省值。僅統計使用按量付費計算資源運行的作業。
創建時間
物化視圖創建的時間。
狀態
物化視圖狀態,有如下兩種狀態:
已創建。
創建中。
操作
可對物化視圖執行操作:
查看詳情:單擊查看物化視圖屬性及被調用使用情況和調用效果,物化視圖詳情頁面包含如下內容:
物化視圖名稱。
基本信息。
創建時間:物化視圖的創建時間。
表結構更新時間:物化視圖的表結構更新時間。
存儲大小:物化視圖占用的存儲大小。
刷新頻率(分鐘):物化視圖的刷新頻率。
刷新時間:物化視圖上一次刷新的時間。
代碼詳情:定義物化視圖的SQL腳本。
單擊按鈕展開或者全屏查看SQL腳本
單擊按鈕復制SQL腳本。
單擊按鈕下載SQL腳本。
調用詳情:展示所有調用該物化視圖的作業明細,包含如下內容:
Instance ID:作業對應的Instance ID。可點擊前往作業洞察查看該作業的詳細信息。
調用MV執行時間(s):該作業調用物化視圖時執行的時間長度,單位為秒。
節省時間(s):該作業調用了物化視圖時執行節省的時間。
消耗CU時:該作業運行消耗的CU時。
節省CU時:該作業因調用了物化視圖節省的CU時消耗。
計算量:該作業運行的計算量(掃描量*復雜度)。
節省計算量:該作業因調用了物化視圖節省的計算量(掃描量*復雜度)。
刪除:單擊刪除物化視圖。