隨著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時消耗的節省值。
節省計算量
所有命中所選專案物化視圖的作業在收益統計區間內的計算量(掃描量*複雜度)相較於建立物化視圖前計算量(掃描量*複雜度)的節省值。僅統計使用隨用隨付計算資源啟動並執行作業。
節省計算費用(目錄價)
所有命中所選專案物化視圖的作業節省計算量*USD 0.0348 per GB(隨用隨付標準版SQL計算單價)。
-
物化視圖列表說明。
列名稱
說明
物化視圖名稱
物化視圖的名稱。
叫用次數
物化視圖在收益區間內(自MV建立以來或最近1天)被調用的次數。
節省計算時間長度
命中該物化視圖的作業在收益統計區間內的計算時間長度相較於建立物化視圖前計算時間長度的節省值。
節省CU時
命中該物化視圖的作業在收益統計區間內的CU時消耗相較於建立物化視圖前CU時消耗的節省值。
節省計算量
命中該物化視圖的作業在收益統計區間內的計算量(掃描量*複雜度)相較於建立物化視圖前計算量(掃描量*複雜度)的節省值。僅統計使用隨用隨付計算資源啟動並執行作業。
建立時間
物化視圖建立的時間。
狀態
物化檢視狀態,有如下兩種狀態:
-
已创建。
-
创建中。
操作
可對物化視圖執行操作:
-
查看详情:單擊查看物化視圖屬性及被調用使用方式和調用效果,物化視圖詳情頁麵包含如下內容:
-
物化視圖名稱。
-
基本信息。
-
创建时间:物化視圖的建立時間。
-
表结构更新时间:物化視圖的表結構更新時間。
-
存储大小:物化視圖佔用的儲存大小。
-
刷新频率(分钟):物化視圖的重新整理頻率。
-
刷新时间:物化視圖上一次重新整理的時間。
-
-
代码详情:定義物化視圖的SQL指令碼。
-
單擊
按鈕展開或者全屏查看SQL指令碼 -
單擊
按鈕複製SQL指令碼。 -
單擊
按鈕下載SQL指令碼。
-
-
物化视图调用详情:展示所有調用該物化視圖的作業明細,包含如下內容:
-
Instance ID:作業對應的Instance ID。可點擊前往作业洞察查看該作業的詳細資料。
-
调用MV执行时间(s):該作業調用物化視圖時執行的時間長度,單位為秒。
-
节省时间(s):該作業調用了物化視圖時執行節省的時間。
-
消耗CU时:該作業運行消耗的CU時。
-
节省CU时:該作業因調用了物化視圖節省的CU時消耗。
-
计算量:該作業啟動並執行計算量(掃描量*複雜度)。
-
节省计算量:該作業因調用了物化視圖節省的計算量(掃描量*複雜度)。
-
-
-
删除物化视图:單擊刪除物化視圖。
-
-