Qlik 是經典的商業智能分析軟件,其家族擁有Qlik Sense等多款BI軟件。它使您能夠快速開發和交付交互式指導分析應用程序和儀表板。本文為您介紹Qlik Sense Desktop如何連接 Hologres并可視化分析數據。
使用限制
已知限制
Qlik Sense暫不支持同步PostgreSQL中外部表的表結構,因此無法在如下頁面中查詢到外部表元數據。
該限制不影響直接使用SQL語句查詢,如下圖所示。
Qilk暫不支持可視化顯示Hologres的外部表,但是您可以在數據加載編輯器中通過SQL語句查詢外部表并可視化分析。
Qlik Sense Desktop連接Hologres
安裝Qlik Sense Desktop
安裝Qlik Sense Desktop,詳情請參見Qlik官方文檔。
連接Hologres
打開Qlik Sense Desktop,在頁面右上方單擊創建新應用程序。
在創建新應用程序彈框,為應用程序命名后,單擊創建。
在彈框中單擊打開應用程序,在應用程序對應頁面添加數據,單擊從文件和其他源添加數據。
在彈框中選擇PostgreSQL創建新的連接,配置參數信息。
參數
描述
Host name
Hologres實例的公共網絡地址。進入Hologres管理控制臺的實例詳情頁,從網絡信息區域獲取網絡地址。
Port
Hologres的實例端口。進入Hologres管理控制臺的實例詳情頁,從網絡信息區域獲取端口。
Database
Hologres創建的數據庫名稱。
User Name
當前阿里云賬號的AccessKey ID。獲取方式請參見創建訪問密鑰。
Password
當前阿里云賬號的AccessKey Secret。獲取方式請參見創建訪問密鑰。
單擊測試連接,如果提示
Connection succeeded
,則表示連接成功。您可以單擊彈框右下角的創建,保存新的連接信息。配置PostgreSQL數據連接。
選擇目標Owner(即Hologres中的 schema),此處您可以選擇public。
在Tables區域選擇需要分析的表。
單擊下方的添加數據,添加數據執行完畢后,Qlik Sense會將數據從Hologres導入Qlik Sense,您可以在Qilk查看Hologres中的數據。
說明使用該模式Qlik Sense會將數據全部加載到Qlik Sense的引擎中,并非根據頁面操作實時發送查詢到數據庫。
配置Direct Query模式
在日常生產場景中,數據庫會包含PB級數據,建議您在Qlik Sense中使用Direct Query模式,而不用將數據導入Qlik Sense,關于Direct Query模式的詳細解釋,請參見Qlik官方文檔。
打開之前創建的應用,在頁面上方選擇 。
在頁面右側顯示數據源連接信息,單擊右下方的圖標,將連接信息插入到編輯器中。
在腳本編輯器中查詢腳本的最前方,輸入
Direct Query
,即可啟用 Direct Query 模式。樣例數據圖示和腳本如下所示:SET ThousandSep=','; SET DecimalSep='.'; SET MoneyThousandSep=','; SET MoneyDecimalSep='.'; SET MoneyFormat='¥#,##0.00;-¥#,##0.00'; SET TimeFormat='TTh:mm:ss'; SET DateFormat='YYYY/M/D'; SET TimestampFormat='YYYY/M/D TTh:mm:ss[.fff]'; SET FirstWeekDay=6; SET BrokenWeeks=1; SET ReferenceDay=0; SET FirstMonthOfYear=1; SET CollationLocale='zh-CN'; SET CreateSearchIndexOnReload=1; SET MonthNames='1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月'; SET LongMonthNames='一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月'; SET DayNames='周一;周二;周三;周四;周五;周六;周日'; SET LongDayNames='星期一;星期二;星期三;星期四;星期五;星期六;星期日'; SET NumericalAbbreviation='3:k;6:M;9:G;12:T;15:P;18:E;21:Z;24:Y;-3:m;-6:μ;-9:n;-12:p;-15:f;-18:a;-21:z;-24:y'; LIB CONNECT TO 'PostgreSQL_hgpostcn-cn-st21y8nlm007-cn-hangzhou.hologres.aliyuncs.com'; --輸入 Direct Query,啟用 Direct Query 模式 DIRECT QUERY dimension l_shipmode, l_shipdate, o_orderstatus measure l_tax, l_quantity FROM public.lineitem INNER JOIN public.orders ON public.lineitem.l_orderkey = public.orders.o_orderkey;
單擊窗口右上方的加載數據,Qlik Sense將發送即時查詢。
在頁面上方選擇 ,開始創建可視化。
在編輯工作表頁面,您可以在頁面左側單擊圖表,選擇需要的圖表類型創建可視化。
說明直接拖動字段到畫布,Qlik Sense無法生成Direct Query的查詢,因此建議您單擊圖表創建可視化。
鑒于Qlik Sense的處理邏輯,建議您先添加度量項,后添加維度項,以提高響應速度。
更多關于Qlik Sense對數據操作和分析的介紹,請參見Qlik官方文檔。
使用自定義ODBC對接Hologres
如果需要在Qlik Sense的表向導模式中查詢到外表,可以使用自定義ODBC的方式接對Hologres。
前提條件
在Qlik Sense服務器端和客戶端都需安裝PostgreSQL的ODBC,您可以通過PostgreSQL的官網下載ODBC驅動。
由于Hologres兼容PostgreSQL 11的生態,所以請務必安裝Vpsqlodbc_11_01_0000以上的版本。
配置DNS
你可以單擊
,找到并打開ODBC 數據源(64位)管理工具。切換至系統 DSN 選項卡,單擊添加按鈕。
在彈出的驅動器程序中選擇 PostgreSQL Unicode(x64),然后單擊完成按鈕。
說明用戶 DSN 只有特定的用戶可以調用,而系統 DSN 對該系統的所有登錄用戶可用。如果用戶需要在 Web BI Server 通過 ODBC 訪問 Hologres,應使用系統 DSN。
在彈出的對話框中輸入 Hologres 服務器信息,參數詳細說明如下所示。
參數
描述
User Name
當前阿里云賬號的AccessKey ID。您可以單擊AccessKey 管理,獲取AccessKey ID。
Password
當前阿里云賬號的AccessKey Secret。您可以單擊AccessKey 管理,獲取AccessKey Secret。
Server
Hologres實例的公共網絡地址。進入Hologres管理控制臺的實例詳情頁,從網絡信息區域獲取公共網絡地址。
Port
Hologres的實例端口。進入Hologres管理控制臺的實例詳情頁,從網絡信息區域獲取端口。
Database
Hologres的數據庫名稱。
單擊 Test 按鈕,如顯示如下頁面,表示連接成功。
單擊保存,保存該 DSN。
連接Hologres
配置完本地 DSN 并成功安裝 Qlik Sense 后,可執行以下步驟來連接 Hologres 與 Qlik Sense。
打開 Qlik Sense Desktop 應用程序。單擊從文件和其他源添加數據。
在彈出的窗口單擊 ODBC,以創建新的連接。
從列表中選擇此前創建的DSN,并填寫名稱。
單擊創建,以保存新的連接信息。之后您可以選擇Owner(即 Hologres 中的 schema),例如選擇 public,使用該鏈接方式即可讀取外部表的Schema。
您可以選擇需要分析的表,單擊添加數據, Qlik Sense 會從 Hologres 將數據導入 Qlik Sense,完成后您即可進行分析。
說明使用該模式 Qlik Sense 會將數據全部加載至 Qlik Sense 的引擎中,并非根據頁面操作實時發送查詢至數據庫。