共享集群(MaxCompute BI加速版)
本文以一個簡單的流程為您介紹如何使用實時數(shù)倉Hologres共享集群(MaxCompute BI加速版)能力。
前提條件
阿里云賬號注冊,詳情請參見阿里云賬號注冊流程。
實名認證,詳情請參見個人實名認證或企業(yè)實名認證。
開通Quick BI,詳情請參見Quick BI購買、升級、降級、續(xù)費、欠費。
使用限制
共享集群(MaxCompute BI加速版)的使用限制如下:
不支持使用Hologres的內(nèi)部表功能,僅支持新建外部表加速查詢MaxCompute數(shù)據(jù)。
實例為共享資源,不支持升配及降配。
查詢分區(qū)表時,每次最多掃描1024個分區(qū)。
目前不支持MAP、LIST及STRUCT數(shù)據(jù)類型。MaxCompute與Hologres的數(shù)據(jù)類型映射請參見數(shù)據(jù)類型匯總。
不支持讀取MaxCompute加密數(shù)據(jù)。
每個查詢中對單張表的最大數(shù)據(jù)掃描量為200GB。
提交的查詢語句大小不超過100KB。
默認查詢超時時間為30分鐘,您可以通過statement_timeout參數(shù)修改查詢超時時間。
單個查詢語句的Join及Group By的總數(shù)量最大值為20。
不支持使用COPY命令進行導(dǎo)入導(dǎo)出數(shù)據(jù)。
僅支持創(chuàng)建hive_compatible extension,不支持創(chuàng)建其他extension,詳情請參見GET_JSON_OBJECT。
支持對表進行手動Analyze操作,不支持對表進行Auto Analyze操作。
共享集群不支持DML操作,僅支持如下DDL。
DATABASE
CREATE DATABASE。
ALTER DATABASE。
DROP DATABASE。
SCHEMA
CREATE SCHEMA。
ALTER SCHEMA。
DROP SCHEMA。
FOREIGN TABLE
CREATE FOREIGN TABLE。
DROP FOREIGN TABLE。
IMPORT FOREIGN SCHEMA。
共享集群(MaxCompute BI加速)的使用流程
購買實例。
使用阿里云主賬號登錄阿里云官網(wǎng)。
單擊立即購買,進入購買頁面。
商品類型選擇共享集群(湖倉加速版),輸入實例名稱,選擇目標地域,單擊立即購買。
新建數(shù)據(jù)庫。
成功購買實例后,您可以進入Hologres的管理控制臺,查看實例狀態(tài)。
成功創(chuàng)建實例后,系統(tǒng)默認生成一個名為postgres的數(shù)據(jù)庫,用于監(jiān)控管理,實際業(yè)務(wù)需要您新建數(shù)據(jù)庫,操作如下:
在實例列表頁面,單擊實例名稱。
您也可以單擊目標實例操作列的管理,進入實例詳情頁。
在實例詳情頁左側(cè)導(dǎo)航欄,單擊數(shù)據(jù)庫管理。
在DB授權(quán)頁面,單擊新增數(shù)據(jù)庫。
在新增數(shù)據(jù)庫對話框,選擇實例名,輸入數(shù)據(jù)庫名稱,并根據(jù)實際業(yè)務(wù)選擇對應(yīng)的權(quán)限模型。
Hologres為您提供了專家模式授權(quán)和簡單權(quán)限模型兩套授權(quán)體系。
專家模式授權(quán)與PostgreSQL的權(quán)限模型完全一致,簡稱專家模式,詳情請參見專家權(quán)限模型。
簡單權(quán)限模型基于對業(yè)務(wù)理解和實踐經(jīng)驗分為兩種。一種是簡單權(quán)限模型(SPM),詳情請參見簡單權(quán)限模型概述;一種是基于Schema級別的簡單權(quán)限模型(SLPM),詳情請參見基于Schema級別的簡單權(quán)限模型概述。
創(chuàng)建數(shù)據(jù)庫時,為了方便權(quán)限管理,建議您選擇SPM(簡單權(quán)限模型)。
單擊確認。
您可以在DB授權(quán)頁面,查看已創(chuàng)建的數(shù)據(jù)庫。
連接開發(fā)工具。
Hologres兼容Postgres,提供JDBC/ODBC Driver。新建數(shù)據(jù)庫后,您可以使用實例連接開發(fā)工具進行數(shù)據(jù)開發(fā)。您可以根據(jù)業(yè)務(wù)需求選擇合適的開發(fā)工具,詳情請參見概述。
本次試驗以Hologres的自研開發(fā)工具HoloWeb為您演示,如何使用實例連接開發(fā)工具,步驟如下:
在Hologres管理控制臺的概覽頁面,單擊前往HoloWeb,進入HoloWeb開發(fā)界面。
單擊 。
配置連接實例對話框的參數(shù)。
參數(shù)
描述
是否必選
網(wǎng)絡(luò)類型
公網(wǎng):支持華東2(上海)、華南1(深圳)、華北2(北京)、華東1(杭州)、華北3(張家口)、新加坡、中國(香港)、馬來西亞(吉隆坡)、印度尼西亞(雅加達)及美國(硅谷)等地域。
圖標的為公網(wǎng)類型的實例。
VPC:僅支持配置為HoloWeb所登錄的地域。
圖標的為VPC類型的實例,該實例不支持編輯詳細信息和刪除。
否
實例名稱
選擇當前賬號已創(chuàng)建的實例。
否
名稱
選擇實例名稱后,名稱默認顯示為所選實例的名稱。您也可以重新自定義連接名稱。
是
描述
連接的描述信息。
否
域名
Hologres實例的網(wǎng)絡(luò)域名。
您可以進入Hologres管理控制臺的實例詳情頁,從網(wǎng)絡(luò)信息中獲取域名。
如果您配置了實例名稱,則系統(tǒng)自動為您匹配該實例的域名。您也可以選擇手動輸入域名。
是
端口
Hologres實例的網(wǎng)絡(luò)端口。
您可以進入Hologres管理控制臺的實例詳情頁,從網(wǎng)絡(luò)信息獲取端口。
如果您配置了實例名稱,則系統(tǒng)自動為您匹配該實例的端口。您也可以選擇手動輸入端口地址。
是
登錄方式
當前賬戶免密登錄:無需輸入賬號及密碼,直接使用當前賬戶登錄。
賬戶密碼登錄:您可以輸入自己或其他賬戶的賬號及密碼,并登錄。
是
賬號
登錄方式配置為賬戶密碼登錄時,需要配置該參數(shù)。
當前賬號的AccessKey ID。
您可以單擊AccessKey 管理,獲取AccessKey ID。
否
密碼
登錄方式配置為賬戶密碼登錄時,需要配置該參數(shù)。
當前賬號的AccessKey Secret。
否
測試連通性
檢測連接是否成功:
顯示測試通過表示連接成功。
顯示測試不通過表示連接失敗。
否
連接后登錄
您可以選擇是否登錄該實例。
是:該實例會登錄并展示在左側(cè)已登錄實例列表中。
否:該實例會展示在左側(cè)未登錄實例列表中。
是
單擊確定。
MaxCompute加速查詢。
實例成功連接HoloWeb后,您可以創(chuàng)建外部表,加速查詢MaxCompute的數(shù)據(jù)。
本次實驗以在HoloWeb中新建外部表查詢MaxCompute公共數(shù)據(jù)集中public_data項目的表數(shù)據(jù)為例,步驟如下:
說明獲取表的方法請參見公開數(shù)據(jù)集。
新建外部表。
單擊
,使用可視化的方式創(chuàng)建外部表。在新建外部表的編輯頁面,根據(jù)加速方式不同,配置對應(yīng)各項參數(shù)。
整庫加速
分類
參數(shù)
描述
加速方式
選擇加速方式
Hologres支持三種加速方式:
整庫加速
部分加速
單表加速
選擇整庫加速。
MaxCompute數(shù)據(jù)源
項目名
MaxCompute的項目(Project)名稱。
Schema Name
MaxCompute的Schema名稱。
對于已開啟Schema的MaxCompute項目,此處可配置當前項目下有權(quán)限的所有Schema名稱;未開啟Schema的項目,無需配置此參數(shù)。關(guān)于Schema詳情,請參見Schema操作。
目標表位置
Holo Schema
模式名稱。
您可以選擇默認創(chuàng)建的public模式,也可以選擇新建的模式名稱。
高級選項
表名沖突
三種表名沖突解決方式:
忽略,繼續(xù)創(chuàng)建其他表
更新,修改同名表
報錯,不再重復(fù)創(chuàng)建
數(shù)據(jù)類型不支持
兩種數(shù)據(jù)類型不支持處理方式:
報錯,導(dǎo)入失敗
忽略,跳過不支持字段所在表
部分加速
分類
參數(shù)
描述
加速方式
選擇加速方式
Hologres支持三種加速方式:
整庫加速
部分加速
單表加速
選擇部分加速。
MaxCompute數(shù)據(jù)源
項目名
MaxCompute的項目(Project)名稱。
Schema Name
MaxCompute的Schema名稱。
對于已開啟Schema的MaxCompute項目,此處可配置當前項目下有權(quán)限的所有Schema名稱;未開啟Schema的項目,無需配置此參數(shù)。關(guān)于Schema詳情,請參見Schema操作。
目標表位置
Holo Schema
模式名稱。
您可以選擇默認創(chuàng)建的public模式,也可以選擇新建的模式名稱。
高級選項
表名沖突
三種表名沖突解決方式:
忽略,繼續(xù)創(chuàng)建其他表
更新,修改同名表
報錯,不再重復(fù)創(chuàng)建
數(shù)據(jù)類型不支持
兩種數(shù)據(jù)類型不支持處理方式:
報錯,導(dǎo)入失敗
忽略,跳過不支持字段所在表
搜索
通過表名模糊搜索,最多支持200張表,超出將不再顯示。
單表加速
分類
參數(shù)
描述
加速方式
選擇加速方式
Hologres支持三種加速方式:
整庫加速
部分加速
單表加速
選擇單表加速。
MaxCompute數(shù)據(jù)源
項目名
MaxCompute的項目(Project)名稱。
Schema Name
MaxCompute的Schema名稱。
對于已開啟Schema的MaxCompute項目,此處可配置當前項目下有權(quán)限的所有Schema名稱;未開啟Schema的項目,無需配置此參數(shù)。關(guān)于Schema詳情,請參見Schema操作。
表名
MaxCompute的對應(yīng)Schema下的數(shù)據(jù)表。支持基于表前綴模糊搜索。
Hologres 目標表
Schema
模式名稱。
您可以選擇默認創(chuàng)建的public模式,也可以選擇新建的模式名稱。
表名
Hologres需要加速的單表表名。
目標表描述
Hologres需要加速的單表描述。
單擊提交。
您也可以新建一個Query查詢窗口,使用SQL語句批量創(chuàng)建外部表。示例語句如下。創(chuàng)建Query查詢窗口請參見SQL窗口 。
IMPORT FOREIGN SCHEMA public_data LIMIT to( customer, customer_address, customer_demographics, inventory,item, date_dim, warehouse) FROM server odps_server INTO PUBLIC options(if_table_exist 'update');
預(yù)覽外部表數(shù)據(jù)。
成功新建外部表后,在元數(shù)據(jù)管理頁面左側(cè)實例管理目錄下,鼠標雙擊新建的外部表,在表編輯頁面單擊數(shù)據(jù)預(yù)覽,查看MaxCompute表的數(shù)據(jù)。
您也可以在Query查詢模塊中新建SQL窗口,使用SQL命令批量創(chuàng)建外部表,創(chuàng)建SQL窗口詳情請參見SQL窗口。批量創(chuàng)建外部表的示例語句如下。
IMPORT FOREIGN SCHEMA public_data LIMIT to( customer, customer_address, customer_demographics, inventory,item, date_dim, warehouse) FROM server odps_server INTO PUBLIC options(if_table_exist 'update');
加速查詢外部表數(shù)據(jù)。
加速查詢外部表數(shù)據(jù)的示例SQL語句如下。
# SQL1: 查詢首選客戶分布情況,按人數(shù)降序排列。 SELECT c_preferred_cust_flag, count(*) AS cnt FROM customer WHERE c_preferred_cust_flag IS NOT NULL GROUP BY c_preferred_cust_flag ORDER BY cnt DESC LIMIT 10; # SQL2: 查詢客戶年齡人數(shù)大于1000的分布情況,按人數(shù)降序排列。 SELECT c_birth_year, count(*) AS cnt FROM customer WHERE c_birth_year IS NOT NULL GROUP BY c_birth_year HAVING count(*) > 1000 ORDER BY cnt DESC LIMIT 10; # SQL3: 查詢客戶所在城市的人數(shù)大于10的分布情況,按人數(shù)降序排序。 SELECT ca_city, count(*) AS cnt FROM customer , customer_address WHERE c_current_addr_sk = ca_address_sk AND ca_city IS NOT NULL GROUP BY ca_city HAVING count(*) > 10 ORDER BY cnt DESC LIMIT 10; # SQL4: 查詢首選客戶出生于1980~1990年且所在城市的人數(shù)大于10的分布情況,按人數(shù)降序排列。 SELECT ca_city, count(*) AS cnt FROM customer , customer_address WHERE c_current_addr_sk = ca_address_sk AND c_birth_year >= 1980 AND c_birth_year < 1990 AND c_preferred_cust_flag = 'Y' AND ca_city IS NOT NULL GROUP BY ca_city HAVING count(*) > 10 ORDER BY cnt DESC LIMIT 10;
連接BI工具進行可視化分析。
Hologres兼容Postgres,支持直接對接BI工具。新建外部表加速查詢MaxCompute后,您可以根據(jù)業(yè)務(wù)情況選擇連接合適的BI工具,進行可視化分析。Hologres支持的BI工具請參見概述。
本次實驗以Quick BI為例,為您介紹如何連接BI工具。步驟如下:
添加數(shù)據(jù)源。
添加Hologres數(shù)據(jù)源詳情請參見阿里云數(shù)據(jù)源Hologres。
可視化分析數(shù)據(jù)。
數(shù)據(jù)類型映射
當前Hologres支持的數(shù)據(jù)類型與MaxCompute數(shù)據(jù)類型映射關(guān)系,請參見數(shù)據(jù)類型匯總。