Skip to main content
Version: v1

將 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 中進行,解決運算資源不足的問題。

1_tableau_data_push

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。

sql mv create

轉換方式 2

進入到 "SQL Explorer" 中輸入您想要的 SQL statement。按下拉選單選擇 "Materizalized View",系統就會把您現在的 SQL 轉存成一個 Materialized View。

sql mv create

點擊了 Materialized View 後,會有一個表格讓您填寫您想要的儲存 Materialized View 名稱等。

materialized_view save

步驟 2: 在 Tableau Server 上建立 Credential

Tableau Server 版本差異
  • 2019.4 以上的版本可使用 Personal Access Token帳號密碼 方式做認證
  • 2019.4 以下的版本 只能 使用 帳號密碼 方式做認證

tableau-account-settings 請至右上角的下拉選單中選擇 My Account Settings

tableau-new-token 並至 Personal Access Tokens 區塊,新增 Personal Access Token,輸入 Token Name 後,點擊 create new token 按鈕後

caution

請注意 token name 不要包含非法字元 (!@#.& 等字元),以及空白

tableau-token-popup 接著會跳出視窗,並點擊 Copy to clipboard 複製 token secret

tableau-credential-pat 至 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

步驟 3: 設定要推送到 Tableau Server 中的資料

Workspace 中的 BI Integration,點擊 Create Publish 按鈕,並填入 Tableau Server 相關資訊。

tableau-bi-page

1. Site Name

部署到 Default Site 此欄位請留空 (若沒有新增 Site,只有一個 Site 的情況時,此欄位請留空),若有多個 Site,請至 Settings 頁面複製 site id,貼到此欄位

關於 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

tableau-choose-project

在此步驟需選擇資料放置的 Project

4. 選擇多個 Materialized View

在此步驟需選擇發佈過去的資料

步驟 4: 等待發佈

每個 Tableau Publish 會呈現在 Tableau 區域中,請點擊 Refresh 按鈕刷新最新狀態,若狀態轉變為 Synced,表示資料已經成功發佈至 Tableau Server。

tableau-mv-status

步驟 5: 在 Tableau 中查看資料

Tableau Server 中將可在對應的 Site > Project 中,看到發佈過來的資料,並可在 Tableau Desktop 中使用。

tableau-mv

在 Tableau Desktop 中點選 Search for Data > Tableau Server ,就可看到從 Canner Enterprise 發佈過來的資料,並可連接至 workbook 中使用。 tableau-desktop-connect

如何設定排程更新

當您成功排程 Materialized View,每次的更新都會重新發佈到 Tableau Server,當 Materialized View 在重新抓取資料時,Tableau Publish 中的狀態會變更為 Preparing,成功時就會變為 Synced。在 Tableau Server 上,可點選 Revision History 觀看該資料來源的刷新紀錄。

tableau-revision-history

如何做權限管理

Canner Enterprise 會負責把資料發佈到對應的 Project 中,故權限管理上,Tableau 管理員需要透過 Project 去區分哪些 user 或 group 可看到哪些資料,該權限可在 Project Permission 中的 Data Source 區塊設定。

Tableau Canner Connector 操作步驟

Tableau Server / Desktop 版本支援

目前僅支援 2020.2 (含) 以上的版本

步驟 1: 下載 Canner Enterprise Connector & Driver

步驟 2: (Tableau Desktop 操作) 安裝 Canner Enterprise JDBC Driver

下載 Canner Enterprise JDBC Driver 後,按照 官網指示,將 JDBC Driver 放在指示的路徑下

info

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) 後,依照 官網指示 放在指示路徑下

info

將 .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

info

在資料來源列表中可看到 Canner Enterprise tableau-connector-list

選擇 Canner Connector by Canner 後,填入登入資訊並登入 tableau-connector-sign-in

  • 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-connector-screenshot

如何在 Tableau Server 中設定 Canner Connector

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

接下來,就可把連線至 Canner Enterprise 的 Tableau 報表發佈到 Tableau Server 上了。