隨著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時消耗。
計算量:該作業啟動並執行計算量(掃描量*複雜度)。
節省計算量:該作業因調用了物化視圖節省的計算量(掃描量*複雜度)。
刪除:單擊刪除物化視圖。