連線 Tableau 至 Azure Databricks

本文說明如何將 Azure Databricks 連線至 Tableau Desktop,並包含其他 Tableau 版本的相關信息。 您可以透過合作夥伴 連線 連線,也可以手動連線。

當您搭配 Tableau 使用 Azure Databricks 作為數據源時,您可以提供功能強大的互動式分析,藉由調整至大型數據集,將數據科學家和數據工程師的貢獻帶入商務分析師。

若要深入瞭解如何使用Tableau Desktop來建置報表和視覺效果,請參閱 教學課程:開始使用Tableau Desktop

需求

使用合作夥伴 連線 將 連線 至 Tableau Desktop

只要按幾下滑鼠,您就可以使用合作夥伴 連線 將叢集或 SQL 倉儲與 Tableau Desktop 連線。

  1. 請確定您的 Azure Databricks 帳戶、工作區和已登入的使用者都符合合作夥伴 連線 的需求
  2. 在提要欄位中,按兩下 合作夥伴 連線 按鈕[合作夥伴 連線]。
  3. 按兩下 [Tableau] 圖格。
  4. [連線 至合作夥伴] 對話框中,針對 [計算] 選擇您想要連線的 Azure Databricks 計算資源名稱。
  5. 選擇 [ 下載連線檔案]。
  6. 開啟下載的連線檔案,以啟動TableauDesktop。
  7. 在 Tableau Desktop 中,輸入您的驗證認證,然後按兩下 [ 登入]:
    • 若要使用 Microsoft Entra 識別元令牌,請在 [使用者名稱] 輸入令牌,並輸入 [密碼] 的 Microsoft Entra ID 令牌。
    • 若要使用 Azure Databricks 個人存取令牌,請在 [用戶名稱] 輸入令牌,併為 [密碼] 輸入個人存取令牌。
    • 若要使用 Microsoft Entra ID 認證,請按兩下 [編輯 連線 ion],按兩下 [資料] 索引標籤中的資料庫,然後在 [驗證] 清單中選取 [Microsoft Entra ID]。
      • 針對 Tableau Desktop 2021.1 和更新版本:

        1. 如果您 在 Azure Government 上使用 Microsoft Entra 識別碼 (先前稱為 Azure Active Directory) B2B 來賓帳戶 或 Azure Databricks,您可以直接輸入 https://login.microsoftonline.com/common 作為 OAuth 端點

        設定驗證

        1. 如果您在 Azure Government 上使用 Microsoft Entra ID B2B 來賓帳戶或 Azure Databricks,請連絡您的系統管理員以取得專用的 Microsoft Entra ID 倉儲。

        注意

        如果您不是系統管理員,則會 顯示 [需要管理員核准 ] 錯誤。 要求全域管理員、雲端應用程式管理員或應用程式管理員授與您連線至Tableau的許可權,然後再次嘗試登入。

        如果您的 Microsoft Entra ID 帳戶已啟用管理員同意工作流程,Tableau Desktop 會提示您要求存取 Tableau。 全域管理員、雲端應用程式管理員或應用程式管理員核准要求之後,請嘗試再次登入。

成功與Tableau Desktop 連線之後,您可以在這裡停止。 本文的其餘資訊涵蓋 Tableau 的其他資訊,例如手動與 Tableau Desktop 聯機、在 Linux 上設定 Tableau Server、如何使用 Tableau Online,以及使用 Tableau 的最佳做法和疑難解答。

手動 連線 Tableau Desktop

請遵循這些指示,使用Tableau Desktop 連線到叢集或 SQL 倉儲。

注意

若要更快與 Tableau Desktop 連線,請使用合作夥伴 連線。

  1. 啟動Tableau Desktop。

  2. 按兩下 [ 檔案 > 新增]。

  3. 在 [數據] 索引標籤上,按兩下 [連線 至 [數據]。

  4. 在連接器清單中,按兩下 [Databricks]。

  5. 輸入伺服器主機名HTTP 路徑

  6. 針對 [ 驗證],選擇您的驗證方法,輸入您的驗證認證,然後按兩下 [ 登入]。

    • 若要使用 Microsoft Entra 識別符令牌,請選取 [個人存取令牌],然後輸入您的 Microsoft Entra ID Token 作為 [密碼]。

    • 若要使用 Azure Databricks 個人存取令牌,請選取 [個人存取令牌],然後輸入您的個人存取令牌 作為 [密碼]。

    • 若要使用您的 Microsoft Entra 識別符認證,請選取 [Microsoft Entra ID]。

      針對 Tableau Desktop 2021.1 和更新版本:

      注意

      如果您不是系統管理員,則會 顯示 [需要管理員核准 ] 錯誤。 要求全域管理員、雲端應用程式管理員或應用程式管理員授與您連線至Tableau的許可權,然後再次嘗試登入。

      如果您的 Microsoft Entra ID 帳戶已啟用管理員同意工作流程,Tableau Desktop 會提示您要求存取 Tableau。 全域管理員、雲端應用程式管理員或應用程式管理員核准要求之後,請嘗試再次登入。

    如果您的工作區已啟用 Unity 目錄,請另外設定預設目錄。 在 [進階] 索引標籤中,針對 [連線 ion 屬性],新增 Catalog=<catalog-name> 若要變更預設目錄,請在 [ 初始 SQL ] 索引標籤中輸入 USE CATALOG <catalog-name>

成功與Tableau Desktop 連線之後,您可以在這裡停止。 本文的其餘資訊涵蓋 Tableau 的其他資訊,例如在 Linux 上設定 Tableau Server、如何使用 Tableau Online,以及使用 Tableau 的最佳做法和疑難解答。

Linux 上的 Tableau Server

編輯 /etc/odbcinst.ini 以包含下列專案:

[Simba Spark ODBC Driver 64-bit]
Description=Simba Spark ODBC Driver (64-bit)
Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so

注意

Linux 上的 Tableau Server 建議使用 64 位處理架構。

在 Tableau Online 上發佈和重新整理活頁簿

本文說明如何將活頁簿從Tableau Desktop 發佈至 Tableau Online ,並在數據源變更時保持更新。 您需要Tableau Desktop和Tableau Online 帳戶中的活頁簿

  1. 從Tableau Desktop擷取活頁簿的數據:在Tableau Desktop中,顯示您要發佈的活頁簿,按兩下 [數據><data-source-name>>擷取數據]。
  2. 在 [擷 取數據] 對話框中,按兩下 [ 擷取]。
  3. 流覽至您想要儲存所擷取數據之本機計算機上的位置,然後按兩下 [ 儲存]。
  4. 將活頁簿的數據源發佈至Tableau Online:在Tableau Desktop中,按兩下 [伺服器發佈數據源<data-source-name>>]。>
  5. 如果 [Tableau Server 登入] 對話框顯示,請按兩下 [Tableau Online] 連結,然後依照畫面上的指示登入Tableau Online。
  6. 在 [將數據源發佈至 Tableau Online] 對話框中,按兩下 [重新整理未啟用] 旁[編輯] 連結。
  7. 在顯示的飛出視窗方塊中,針對 [驗證],將 [未啟用重新整理] 變更[允許重新整理存取]。
  8. 按兩下此飛出視窗以外的任何位置來隱藏它。
  9. 選取 [ 更新活頁簿] 以使用已發佈的數據源
  10. 按一下發行。 數據源會顯示在Tableau Online 中。
  11. 在Tableau Online的 [ 發佈完成 ] 對話框中,按兩下 [排程],然後遵循螢幕上的指示。
  12. 將活頁簿發佈至Tableau Online:在Tableau Desktop中,顯示您要發佈的活頁簿,按兩下 [ 伺服器 > 發布活頁簿]。
  13. 在 [ 將活頁簿發佈至 Tableau Online ] 對話框中,按兩下 [ 發佈]。 活頁簿會顯示在Tableau Online 中。

Tableau Online 會根據您設定的排程檢查數據源的變更,並在偵測到變更時更新已發佈的活頁簿。

如需詳細資訊,請參閱Tableau網站上的下列內容:

最佳做法和疑難排解

優化Tableau查詢的兩個基本動作如下:

  • 減少在單一圖表或儀錶板中查詢和可視化的記錄數目。
  • 減少Tableau在單一圖表或儀錶板中傳送的查詢數目。

決定要先嘗試哪一個取決於您的儀錶板。 如果您有數個不同的圖表供相同儀錶板中的個別使用者使用,則Tableau可能會傳送太多查詢給 Azure Databricks。 如果您只有數個圖表,但它們需要很長的時間才能載入,Azure Databricks 可能會傳回太多記錄,才能有效地載入。

Tableau Desktop 和 Tableau Server 皆提供 Tableau 效能錄製,可協助您瞭解效能瓶頸的位置,方法是識別執行特定工作流程或儀錶板時造成延遲的程式。

啟用效能錄製以偵錯任何Tableau問題

例如,如果查詢執行是問題,您知道它必須與數據引擎進程或您要查詢的數據源有關。 如果視覺效果配置執行速度緩慢,您就知道它是 VizQL。

如果效能記錄指出延遲是在執行查詢中,Azure Databricks 可能會傳回結果或 ODBC/連線 or 重疊將數據處理到 VizQL 的 SQL 中花費太多時間。 發生此情況時,您應該分析所傳回的內容,並嘗試變更分析模式,讓每個群組、區段或發行項擁有儀錶板,而不是嘗試將所有專案塞進一個儀錶板,並依賴快速篩選。

如果效能不佳是因為排序或視覺效果配置所造成,問題可能是儀錶板嘗試傳回的標記數目。 Azure Databricks 可以快速傳回一百萬筆記錄,但Tableau可能無法計算配置並排序結果。 如果這是問題,請匯總查詢並向下切入至較低層級。 您也可以嘗試更大的計算機,因為Tableau只會受限於其執行所在的機器上的實體資源。

如需效能錄製器的深入教學課程,請參閱 建立效能錄製

Tableau Server 與 Tableau Desktop 的效能

一般而言,在Tableau Desktop上執行的工作流程在Tableau Server上並不快。 在 Tableau Desktop 上未執行的儀錶板將不會在 Tableau Server 上執行。 這是需要記住的重要事項。

事實上,在桌面上工作是一種更好的疑難解答技術,因為Tableau Server在疑難解答時要考慮更多程式。 如果專案在 Tableau Desktop 中運作,但不在 Tableau Server 中運作,您可以安全地將問題縮小到 Tableau Server 中不在 Tableau Desktop 中的程式。

組態

根據預設,來自連線 URL 的參數會覆寫 Simba ODBC DSN 中的參數。 有兩種方式可以從Tableau自定義 ODBC 組態:

  • .tds 單一數據源的檔案:

    1. 請遵循儲存數據源中的指示,匯出.tds數據源的檔案。
    2. 在檔案中.tds尋找屬性行odbc-connect-string-extras=''並設定參數。 例如,若要啟用 AutoReconnectUseNativeQuery,您可以將行變更為 odbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1'
    3. 重新連線以 .tds 重載檔案。

    計算資源已優化,以使用較少的堆積記憶體來收集大型結果,因此每個擷取區塊的數據列數目會比 Simba ODBC 的預設值多。 附加 RowsFetchedPerBlock=100000' 至 屬性的值 odbc-connect-string-extras

  • .tdc 所有資料源的檔案:

    1. 如果您從未建立檔案.tdc,您可以將 TableauTdcExample.tdc 新增至資料夾 Document/My Tableau Repository/Datasources
    2. 將檔案新增至所有開發人員的TableauDesktop安裝,以便在共用儀錶板時運作。

優化圖表 (工作表)

有許多戰術圖表優化可協助您改善Tableau工作表的效能。

對於不會經常變更且不打算與其互動的篩選,請使用可加速運行時間的內容篩選。 另一個良好的經驗法則是使用 if/else 語句, case/when 而不是查詢中的語句。

Tableau 可以將篩選向下推入數據源,以大幅加快查詢速度。 如需數據源下推篩選的詳細資訊,請參閱 使用參數 篩選多個數據源和 篩選多個數據源 的數據。

如果可以的話,最好避免數據表計算,因為它們需要掃描完整的數據集。 如需數據表計算的詳細資訊,請參閱 使用數據表計算轉換值。

優化儀錶板

以下是您可以套用的一些秘訣和疑難解答練習,以改善Tableau儀錶板的效能。

線上至 Azure Databricks 的 Tableau 儀錶板常見的問題來源是,在提供數個不同使用者、函式或區段的個別儀錶板上使用快速篩選。 您可以將全域快速篩選附加至儀錶板上的所有圖表。 這是一個很好的功能,但可能會快速造成問題。 儀錶板上有一個全域快速篩選,其中五個圖表會導致至少 10 個查詢傳送至 Azure Databricks。 隨著新增更多篩選,這可能會螺旋式增加到更大的數位,而且可能會導致大量的效能問題,因為Spark不是為了處理相同時間點開始的許多並行查詢而建置。 當您使用的 Azure Databricks 叢集或 SQL 倉儲不足以處理大量查詢時,這會變得更加有問題。

作為第一個步驟,我們建議您使用Tableau效能錄製來針對可能造成問題的原因進行疑難解答。

如果效能不佳是因為 排序視覺效果配置所造成,問題可能是儀錶板嘗試傳回的標記數目。 Azure Databricks 可以快速傳回一百萬筆記錄,但Tableau可能無法計算配置並排序結果。 如果這是問題,請匯總查詢並向下切入至較低層級。 您也可以嘗試更大的計算機,因為Tableau只會受限於其執行所在的機器上的實體資源。

如需有關在 Tableau 中向下切入的資訊,請參閱 向下切入至詳細數據

一般而言,看到許多細微標記通常是分析模式不佳,因為它不提供深入解析。 從較高層級的匯總向下切入更有意義,並減少需要處理和可視化的記錄數目。

使用動作將儀錶板優化

若要從群組到區段鑽研至文章,以取得與「海洋煮沸」儀錶板相同的分析和資訊,您可以使用Tableau 動作。 動作可讓您按下標記(例如地圖上的狀態),並傳送至另一個儀錶板,根據您按兩下的狀態進行篩選。 這可減少一個儀錶板上有許多篩選條件的需求,並減少需要產生的記錄數目,因為您可以設定動作,使其在取得要篩選的述詞之前,不要產生記錄。

如需詳細資訊,請參閱動作6 提示 讓您的儀錶板更具效能

快取

快取數據是改善工作表或儀錶板效能的好方法。

Tableau 中的快取

Tableau 有四層快取,再回到數據,無論是在即時連線或擷取中:

  • 圖格:如果有人正在載入完全相同的儀錶板且沒有任何變更,Tableau 會嘗試針對圖表重複使用相同的磚。 這類似於Google 地圖磚。
  • 模型:有數學計算可用來在無法使用磚的事件中產生視覺效果。 Tableau Server 會嘗試使用相同的模型。
  • 抽象:查詢的匯總結果也會儲存。 這是第三個「防禦」層級。 如果查詢傳回 Sum(Sales)、Count(orders)、Sum(Cost),在先前的查詢和未來的查詢只想要 Sum(Sales),則 Tableau 會擷取該結果並使用它。
  • 原生快取:如果查詢與另一個查詢完全相同,Tableau 會使用相同的結果。 這是快取的最後一個層級。 如果失敗,Tableau 會移至數據。

Tableau 中的快取頻率

Tableau 有系統管理設定,可快取或多或少地快取。 如果伺服器設定為 [較不常重新整理],Tableau 會將數據保留在快取中長達 12 小時。 如果設定為 [ 更經常重新整理],Tableau 會回到每個頁面重新整理的數據。

再次使用相同儀錶板的客戶,例如「星期一上午管線報表」,應該在設定為 [較不常重新整理] 的伺服器上,讓儀錶板全都使用相同的快取。

Tableau 中的快取變暖

在Tableau中,您可以設定儀錶板的訂用帳戶,讓儀錶板在檢視儀錶板之前,讓快取保暖。 這是因為必須轉譯儀錶板,才能產生訂用帳戶電子郵件的影像。 請參閱 使用訂用帳戶將Tableau Server快取變暖。

Tableau Desktop:錯誤 The drivers... are not properly installed 會顯示

問題:當您嘗試將Tableau Desktop 連線到 Databricks 時,Tableau 會在連線對話框中顯示錯誤訊息,其中包含驅動程式下載頁面的連結,您可以在其中找到驅動程式連結和安裝指示。

原因:您的 Tableau Desktop 安裝未執行支持的驅動程式。

解決方案:下載 Databricks ODBC 驅動程式 2.6.15 版或更新版本。

請參閱: 錯誤「驅動程式...在 Tableau 網站上未正確安裝

其他資源