Quick BI為您提供海量資料的即時線上分析服務以及豐富的視覺效果,您可以通過拖拽式操作或SQL語句方式,輕鬆地完成資料分析、業務資料探查及報表製作。本文為您介紹如何使用即時數倉Hologres串連Quick BI,並進行可視化分析。
前提條件
開通Hologres,詳情請參見購買Hologres。
開通Quick BI,詳情請參見Quick BI購買、升級、續約、欠費。
背景資訊
Hologres與Quick BI高效連通,支援通過Hologres資料來源直接連接Quick BI,將Hologres高效查詢的資料直接進行可視化分析。
當前Quick BI進階版和專業版支援Hologres資料來源,其餘版本請使用PostgreSQL資料來源,更多關於PostgreSQL資料來源的操作請參見阿里雲資料來源PostgreSQL。
本文以進階版Quick BI為例,為您示範串連Hologres並進行可視化分析的相關操作。
使用限制
Quick BI當前僅支援使用公用網路和傳統網路串連Hologres,不支援使用VPC網路連接Hologres。
您無需在Hologres中配置白名單即可串連至Quick BI。
Hologres串連Quick BI時,您需要根據Quick BI的版本選擇相應的資料來源,推薦使用Hologres資料來源。
Quick BI當前僅支援在使用公網或者指定VPC網路時,進行白名單限制。
使用Quick BI進行可視化分析
添加資料來源。
在Quick BI管理主控台頁面,單擊頂部功能表列的工作空間。
在工作空間頁面左側導覽列,單擊資料來源。
在資料來源頁面,單擊右上方的建立資料來源。
選擇目標資料來源並配置相應參數。
選擇Alibaba Hologres資料來源。
配置添加Hologres資料來源的各項參數。
參數配置(使用指定VPC網路連接Hologres)。
參數名稱
描述
說明
顯示名稱
按照您的需求填寫,用於分辨資料來源使用。
無
資料庫地址
Hologres執行個體的指定VPC網路網域名稱。
您可以登入管理主控台,進入執行個體詳情頁,從網路資訊的網域名稱列擷取指定VPC的網域名稱。
說明此處不包含連接埠,例如:
hgpostcn-cn-nwy364b5v009-cn-shanghai-vpc-st.hologres.aliyuncs.com
連接埠
Hologres執行個體的指定VPC網路連接埠。
您可以登入管理主控台,進入執行個體詳情頁,從網路資訊的網域名稱列擷取指定VPC的網域名稱的連接埠。
資料庫
串連的Hologres執行個體的資料庫名稱。
您可以登入管理主控台,進入執行個體詳情頁,從資料庫管理頁面擷取。
Schema
預設為public Schema。
您可以使用新建立的Schema,在資料來源配置了Schema後,列表中會展示當前Schema下所有的表。但是在使用即席SQL時,還需要在表名稱前手動添加對應的Schema名(即schema.table),才能正確索引到Schema下面的表。
使用者名稱
當前帳號的AccessKey ID。
您可以單擊AccessKey 管理,擷取AccessKey ID。
密碼
當前帳號的AccessKey Secret。
您可以單擊AccessKey 管理,擷取AccessKey Secret。
VPC資料來源開關
需要勾選該開關
無
購買者accessId
購買執行個體使用者的AccessKey ID。
無
購買者accessKey
購買執行個體使用者的AccessKey Secret。
無
執行個體id
Hologres執行個體ID
無
地區
Hologres執行個體所在的地區。
無
參數配置(使用公網串連Hologres)。
參數名稱
描述
說明
顯示名稱
按照您的需求填寫,用於分辨資料來源使用。
無
資料庫地址
Hologres執行個體的公網網路網域名稱。
您可以登入管理主控台,進入執行個體詳情頁,從網路資訊的網域名稱列擷取公網的網域名稱。
說明此處不包含連接埠。
連接埠
Hologres執行個體的公網網路連接埠。
您可以登入管理主控台,進入執行個體詳情頁,從網路資訊的網域名稱列擷取公網網域名稱的連接埠。
資料庫
串連的Hologres執行個體的資料庫名稱。
您可以登入管理主控台,進入執行個體詳情頁,從DB管理頁面擷取。
Schema
預設為public Schema。
您可以使用新建立的Schema,在資料來源配置了Schema後,列表中會展示當前Schema下所有的表。但是在使用即席SQL時,還需要在表名稱前手動添加對應的Schema名(即schema.table),才能正確索引到Schema下面的表。
使用者名稱
當前帳號的AccessKey ID。
您可以單擊AccessKey 管理,擷取AccessKey ID。
密碼
當前帳號的AccessKey Secret。
您可以單擊AccessKey 管理,擷取AccessKey Secret。
VPC資料來源開關
需要關閉該開關
無
參數配置(使用傳統網路串連Hologres)。
參數名稱
描述
說明
顯示名稱
按照您的需求填寫,用於分辨資料來源使用。
無
資料庫地址
Hologres執行個體的傳統網路網域名稱。
您可以登入管理主控台,進入執行個體詳情頁,從網路資訊的網域名稱列擷取傳統網路的網域名稱。
說明此處不包含連接埠,例如:
hgpostcn-cn-nwy364b5v009-cn-shanghai-vpc.hologres.aliyuncs.com
連接埠
Hologres執行個體的傳統網路連接埠。
您可以登入管理主控台,進入執行個體詳情頁,從網路資訊的網域名稱列擷取傳統網路網域名稱的連接埠。
資料庫
串連的Hologres執行個體的資料庫名稱。
您可以登入管理主控台,進入執行個體詳情頁,從DB管理頁面擷取。
Schema
預設為public Schema。
您可以使用新建立的Schema,在資料來源配置了Schema後,列表中會展示當前Schema下所有的表。但是在使用即席SQL時,還需要在表名稱前手動添加對應的Schema名(即schema.table),才能正確索引到Schema下面的表。
使用者名稱
當前帳號的AccessKey ID。
您可以單擊AccessKey 管理,擷取AccessKey ID。
密碼
當前帳號的AccessKey Secret。
您可以單擊AccessKey 管理,擷取AccessKey Secret。
VPC資料來源開關
需要關閉該開關
無
參數配置完成後,您可以單擊串連測試,測試Quick BI與Hologres的串連狀態:
如果顯示資料來源連通性正常,則表示Quick BI與Hologres串連成功。
如果顯示資料來源連通性異常,請檢查參數是否正確,則表示Quick BI與Hologres串連失敗。請根據報錯資訊處理異常。
單擊確定,完成配置。
可視化分析資料。
成功串連資料來源後,在
頁面,單擊已建立的資料來源,顯示當前資料庫中的所有表。如果您希望使用介面化操作完成資料的可視化分析,則可以使用拖拽方式。
如果您希望使用SQL陳述式完成資料的可視化分析,則可以使用即席分析SQL方式。
兩種方式的具體操作如下:
拖拽方式。
單擊目標表操作列的表徵圖,建立資料集。
配置建立資料集對話方塊的名稱和位置參數。
單擊確定。
在我的資料集頁面,您可以單擊目標資料集操作列下的表徵圖,進行相應操作:
單擊表徵圖,查看當前資料集的資料。
單擊表徵圖,建立儀錶盤,將表資料匯入並組建圖表,進行可視化展示。
單擊表徵圖,建立試算表,將目標表資料匯入並產生試算表,進行可視化展示。
單擊表徵圖,執行更多操作。例如,資料脫敏、緩衝配置及清除緩衝等。
具體功能的操作,詳情請參見概述。
樣本建立儀表板,在儀表板編輯頁面建立堆積柱狀圖,並設計圖表樣式展示資料。
即席分析SQL方式。
在資料來源頁面,單擊右上方的即席分析SQL,進入即席分析SQL頁面。
您可以根據業務需求輸入查詢SQL語句,並單擊執行。
擷取需要查詢的資料後,單擊建立資料集。
配置儲存自訂SQL對話方塊的名稱、位置及SQL參數。
單擊確定。
成功建立資料集後,您可以在資料集中可視化分析表資料,詳情請參見自訂SQL。
時間篩選控制項最佳實務
在Hologres建立表時,您可以設定Segment_key(別名event_time_column)屬性,對時間類型過濾條件進行索引最佳化,防止全表掃描並加速查詢。Hologres預設把表中第一個時間戳記類型作為Segment_key。
Quick BI支援進階的SQL預留位置功能,您可以使用SQL預留位置來設定時間控制項。更多SQL預留位置資訊,請參見自訂SQL。
設定時間篩選欄位預留位置。
執行以下步驟前,需要在Hologres建立名稱為LINEITEM的內部表,並且將MaxCompute公用空間MAXCOMPUTE_PUBLIC_DATA中public.odps_lineitem_10g表的資料匯入到LINEITEM表中,詳細步驟請參見Hologres查詢體驗快速入門。
在Quick BI管理主控台的資料來源頁面,單擊右上方的SQL建立資料集,進入建立程式碼片段對話方塊。
輸入以下SQL語句,從LINEITEM表中取出時間戳記資料。
SELECT * FROM "public"."lineitem" AS AME_T_1_ WHERE AME_T_1_."l_shipdate" >= TO_TIMESTAMP('${report_date.get(0)}', 'yyyy-MM-dd hh24:mi:ss') AND AME_T_1_."l_shipdate" <= TO_TIMESTAMP('${report_date.get(1)}', 'yyyy-MM-dd hh24:mi:ss')
單擊參數設定,設定SQL預留位置。
在變數類型下拉式清單選擇“日期-年月日時分秒 > YYYY-MM-DD HH-MI-SS”。
單擊確定後,單擊確認編輯。
在儀表板編輯頁面,單擊建立篩選項,在查詢條件設定對話方塊,欄位選擇所設定的SQL預留位置。
在儀表板編輯頁面,單擊查看SQL,擷取到如下SQL。
SELECT AME_T_1_."l_shipmode" AS T_A0_2_, AME_T_1_."l_shipinstruct" AS T_A1_3_, SUM(AME_T_1_."l_extendedprice") AS T_A2_4_ FROM "public"."lineitem" AS AME_T_1_ WHERE AME_T_1_."l_shipdate" >= TO_TIMESTAMP('1993-01-01 00:00:00', 'yyyy-MM-dd hh24:mi:ss') AND AME_T_1_."l_shipdate" <= TO_TIMESTAMP('1998-12-31 23:59:59', 'yyyy-MM-dd hh24:mi:ss') GROUP BY AME_T_1_."l_shipmode", AME_T_1_."l_shipinstruct" LIMIT 1000 OFFSET 0
驗證Segment_key是否生效。
您可查看SQL的執行計畫中是否有Segment Filter的關鍵字出現以驗證Segment_key是否生效。
登入Hologres管理主控台,單擊左側執行個體列表。
在執行個體詳情頁左側導覽列,單擊資料庫管理。
在DB授權頁面,單擊SQL編輯器。
在SQL編輯器頁面,單擊左上方的建立SQL視窗。
在新增的臨時Query查詢頁面,選擇已建立的執行個體名和資料庫後,請您在SQL查詢的編輯框輸入如下語句,單擊運行。
以下SQL語句用來查看擷取到SQL的執行計畫,用於驗證Segment_key是否生效。
explain SELECT AME_T_1_."l_shipmode" AS T_A0_2_, AME_T_1_."l_shipinstruct" AS T_A1_3_, SUM(AME_T_1_."l_extendedprice") AS T_A2_4_ FROM "public"."lineitem" AS AME_T_1_ WHERE AME_T_1_."l_shipdate" >= TO_TIMESTAMP('1993-01-01 00:00:00', 'yyyy-MM-dd hh24:mi:ss') AND AME_T_1_."l_shipdate" <= TO_TIMESTAMP('1998-12-31 23:59:59', 'yyyy-MM-dd hh24:mi:ss') GROUP BY AME_T_1_."l_shipmode", AME_T_1_."l_shipinstruct" LIMIT 1000 OFFSET 0
在結果頁簽中擷取執行計畫,如下。
-> Limit (cost=0.00..1.01 rows=1 width=24) -> Partial HashAggregate (cost=0.00..1.01 rows=1 width=24) Group Key: l_shipmode, l_shipinstruct -> Redistribute Motion (cost=0.00..1.01 rows=10 width=24) -> Result (cost=0.00..1.01 rows=10 width=24) -> Partial HashAggregate (cost=0.00..1.01 rows=10 width=24) Group Key: l_shipmode, l_shipinstruct -> Parallelism (Gather Exchange) (cost=0.00..1.01 rows=32 width=24) -> Result (cost=0.00..1.01 rows=32 width=24) -> DecodeNode (cost=0.00..1.01 rows=32 width=24) -> Partial HashAggregate (cost=0.00..1.01 rows=32 width=24) Group Key: l_shipmode, l_shipinstruct -> Index Scan using holo_index:[1] on lineitem (cost=0.00..1.00 rows=1000 width=24) Segment Filter: ((l_shipdate >= '1993-01-01 00:00:00+08'::timestamp with time zone)
執行計畫中,出現了Segment Filter,說明Segment_key已生效,您可以使用SQL預留位置建立的時間控制項。