將 Canner Enterprise 中的資料輸出至 Tableau
在此教程中,您會了解如何使用 Canner Enterprise 將資料輸出至 Tableau 中進行報表應用呈現。
在開始本教程之前,您會需要先完成在 Canner Enterprise 中連結資料來源 以及 運用工作區作為您的資料工作中心。
整合方式
Canner Enterprise 目前支援兩種與 Tableau 整合的方式,第一種為 Tableau Data Push,第二種為 Tableau Canner Connector。
Tableau Data Push
與一般 Data Warehouse / Database 透過 Connector 串接的方式不同,我們讓使用者可以先將各種異質資料來源進行整合、建立運算好的 Materialized View 並自動轉換成 Hyper 格式推送到 Tableau Server 中對應的 Site 及 Project 內,讓 Tableau 使用者可以直接進行取用資料。
Hyper 是 Tableau 的記憶體中資料引擎技術,已針對大資料集或複雜資料集的快速資料攝取和分析查詢處理進行優化,詳細內容請參考 Tableau 文件介紹。過往,資料運算及轉換 Hyper 等資源都需要依靠 Tableau 本身,現在可以將這些工作轉移到 Canner 中進行,解決運算資源不足的問題。
Tableau Canner Connector
Tableau 於 2020.2 版本後,提供合作夥伴可以開發並提供連接器,連接器的用法就跟其他資料庫的連接器 (Connector) 用法一致。
使用情境
Tableau Data Push
若資料一段時間才固定更新一次,且 Tableau Extract 經常性因為資源不足等問題而失敗,建議可以使用 Tableau Data Push (資料推送) ,運算及產生 Hyper 在 Canner Enterprise 上處理好,Tableau 只處理報表呈現即可。
Tableau Canner Connector
適用於大量進行 adhoc query / direct query 的情境。
Tableau Data Push 操作步驟
步驟 1: 在工作區將運算好的資料轉換為 Materialized View
轉換方式 1
進入到 "SQL Explorer" 中輸入您想要的 SQL statement 並執行查詢結果。在結果查詢列表中可以直接將此結果轉換成 Materialized View。
轉換方式 2
進入到 "SQL Explorer" 中輸入您想要的 SQL statement。按下拉選單選擇 "Materizalized View",系統就會把您現在的 SQL 轉存成一個 Materialized View。
點擊了 Materialized View 後,會有一個表格讓您填寫您想要的儲存 Materialized View 名稱等。
步驟 2: 在 Tableau Server 上建立 Credential
2019.4
以上的版本可使用Personal Access Token
或帳號密碼
方式做認證2019.4
以下的版本 只能 使用帳號密碼
方式做認證
- 使用 Personal Access Token (2019.4 以上)
- 使用帳號密碼 (2018.1 以上皆可)
請至右上角的下拉選單中選擇 My Account Settings
並至 Personal Access Tokens 區塊,新增 Personal Access Token,輸入 Token Name 後,點擊 create new token 按鈕後
請注意 token name 不要包含非法字元 (!@#.& 等字元),以及空白
接著會跳出視窗,並點擊 Copy to clipboard 複製 token secret
至 Canner Enterprise Settings 頁面,在 Credentials 區塊中點擊 Create a credential,選擇 Tableau Token
,輸入以下資訊
1. Credential Name
: 此名稱用來方便您辨識 credential,並可在後續步驟中選取
2. Token Name
: 輸入上個步驟 Personal Access Token 的 Token Name
3. Token Secret
: 輸入上個步驟 Personal Access Token 複製下來的 Token Secret
4. Host
: 輸入 tableau server 的 URL,以類似此格式輸入 https://canner-test.online.tableau.com
這邊將使用您在 Tableau 上使用者的帳號密碼做為授權
至 Canner Enterprise Settings 頁面,在 Credentials 區塊中點擊 Create a credential,選擇 Tableau basic credential
,輸入以下資訊
1. Username
: Tableau 使用者名稱
2. Password
: Tableau 使用者密碼
3. Host
: 輸入 tableau server 的 URL,以類似此格式輸入 https://canner-test.online.tableau.com
步驟 3: 設定要推送到 Tableau Server 中的資料
Workspace 中的 BI Integration,點擊 Create Publish
按鈕,並填入 Tableau Server 相關資訊。
1. Site Name
部署到 Default Site 此欄位請留空 (若沒有新增 Site,只有一個 Site 的情況時,此欄位請留空),若有多個 Site,請至 Settings 頁面複製 site id,貼到此欄位
Default Site 的 Settings > Site Name and ID
在 Tableau 上會如下圖,在此欄位就請留空
非 Default Site 的 Settings > Site Name and ID
在 Tableau 上會如下圖,就請複製 ID (Seen in URL)
的值過來
2. 選擇上個步驟創建的 credential
請在此步驟先選擇 Credential,下個步驟才能選擇 Project
3. 選擇一個 Project
在此步驟需選擇資料放置的 Project
4. 選擇多個 Materialized View
在此步驟需選擇發佈過去的資料
步驟 4: 等待發佈
每個 Tableau Publish 會呈現在 Tableau 區域中,請點擊 Refresh
按鈕刷新最新狀態,若狀態轉變為 Synced
,表示資料已經成功發佈至 Tableau Server。
步驟 5: 在 Tableau 中查看資料
Tableau Server 中將可在對應的 Site > Project 中,看到發佈過來的資料,並可在 Tableau Desktop 中使用。
在 Tableau Desktop 中點選 Search for Data > Tableau Server ,就可看到從 Canner Enterprise 發佈過來的資料,並可連接至 workbook 中使用。
如何設定排程更新
當您成功排程 Materialized View,每次的更新都會重新發佈到 Tableau Server,當 Materialized View 在重新抓取資料時,Tableau Publish 中的狀態會變更為 Preparing
,成功時就會變為 Synced
。在 Tableau Server 上,可點選 Revision History 觀看該資料來源的刷新紀錄。
如何做權限管理
Canner Enterprise 會負責把資料發佈到對應的 Project 中,故權限管理上,Tableau 管理員需要透過 Project 去區分哪些 user 或 group 可看到哪些資料,該權限可在 Project Permission 中的 Data Source 區塊設定。
請參考 Tableau 官方文件 https://help.tableau.com/current/server/en-us/permissions.htm
Tableau Canner Connector 操作步驟
目前僅支援 2020.2
(含) 以上的版本
步驟 1: 下載 Canner Enterprise Connector & Driver
步驟 2: (Tableau Desktop 操作) 安裝 Canner Enterprise JDBC Driver
下載 Canner Enterprise JDBC Driver 後,按照 官網指示,將 JDBC Driver 放在指示的路徑下
JDBC 驅動程式是獨立的 jar 檔案。針對您的作業系統,將 .jar 檔案放置在資料夾中。(如果資料夾不存在,則需要建立資料夾)。
- Windows:
C:\Program Files\Tableau\Drivers
- Mac:
~/Library/Tableau/Drivers
- Linux:
/opt/tableau/tableau_driver/jdbc
步驟 3: (Tableau Desktop 操作) 安裝 Canner Connector (.taco)
下載 Canner Connector (.taco)
後,依照 官網指示 放在指示路徑下
將 .taco 檔案放在以下目錄中(預設位置):
適用於 Tableau Desktop
- Windows -
C:\Users\[Windows 使用者]\Documents\My Tableau Repository\Connectors
- macOS -
/Users/[使用者]/Documents/My Tableau Repository/Connectors
適用於 Tableau Prep
- Windows:
C:\使用者\[Windows 使用者]\文件\我的 Tableau Prep 存放庫\連接器
- MacOS:
/使用者//文件/我的 Tableau Prep 存放庫/連接器
對於流程 Web 製作,在 Tableau Server 上:
/data/tabsvc/flowqueryservice/Connectors
適用於 Tableau Prep Conductor,在 Tableau Server 上:
/data/tabsvc/flowprocessor/Connectors
適用於 Tableau Server
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Connectors
步驟 4: 連線至 Canner Enterprise
在資料來源列表中可看到 Canner Enterprise
選擇 Canner Connector by Canner
後,填入登入資訊並登入
- Server: Canner Server 的網址,IP 位置或是 Host,不包含
http
,https
,Ex:my-canner.abc.com
- Port: 支援 Https,使用
443
,若不支援,請使用80
- Workspace: 請至欲連線的 Workspace 中的
Config
>SQL Name
欄位中,複製 Workspace 的 SQL Name - Token: 貼上 Personal Access Token
接著,可在 Tableau 使用 Canner Enterprise 上該 Workspace 的資料
如何在 Tableau Server 中設定 Canner Connector
- Linux
- Windows
1. 創建一個資料夾 (ex: /home/<user>/tableau_connectors
),並把 Canner Connector (.taco)
放在下面
2. 使用指令設定 connectors 路徑
tsm configuration set -k native_api.connect_plugins_path -v <步驟 1 創建的資料夾路徑>
例如使用 /home/<user>/tableau_connectors
作為資料夾的話就會是
tsm configuration set -k native_api.connect_plugins_path -v /home/<user>/tableau_connectors
3. 放置 JDBC Driver
放置 Canner Enterprise JDBC Driver 到 /opt/tableau/tableau_driver/jdbc
下面
4. Apply changes
Apply changes 到 Tableau server 中,此指令會重新啟動 Tableau Server
tsm pending-changes apply
1. 把 Canner Connector (.taco)
放置在 C:\ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Connectors
下面
2. 放置 Canner Enterprise JDBC Driver 到 C:\Program Files\Tableau\Drivers
下面
3. Restart Tableau Server
接下來,就可把連線至 Canner Enterprise 的 Tableau 報表發佈到 Tableau Server 上了。