啟用 Tableau Catalog

Tableau Catalog(連結在新視窗開啟) 可探索 Tableau Online 網站或 Tableau Server 上的所有內容並編製索引,包括工作簿、資料來源、工作表、指標和流程。索引是用來收集內容的相關資訊,或關於內容的架構和歷程的中繼資料。接著,Catalog 會在中繼資料中識別 Tableau Online 網站或 Tableau Server 上內容所使用的所有資料庫、檔案和表格。

Catalog 提供 資料管理附加元件。有關詳情,請參閱關於資料管理附加元件

除了 Catalog 之外,還可以使用中繼資料方法(連結在新視窗開啟)Tableau 中繼資料 API(連結在新視窗開啟) 和 Tableau REST API 存取有關內容的中繼資料。

啟用 Catalog 之前

作為 Tableau Server 管理員,在啟用 Catalog 之前和啟用 Catalog 時,需要考慮一些事項,以確保在 Tableau Server 環境中 Catalog 的最佳效能。

所需版本

啟用 Catalog 之前,請務必執行以下任一版本的 Tableau Server:

  • 至少 Tableau Server 2019.3.4 或更高版本
  • 至少 Tableau Server 2019.4.2 或更高版本
  • 至少 Tableau Server 2020.1.0 或更高版本
  • 至少 Tableau Server 2020.2.15 或更高版本
  • Tableau Server 2020.3 及更高版本

有關為何需要這些版本的詳情,請參閱 Tableau 知識庫

啟用 Catalog 時應該做什麼

啟用 Catalog 時,會立即對 Tableau Server 上已存在的內容編制索引。

初始擷取

編製索引程序由兩個主要元件組成,其中一個元件稱為初始擷取。初始擷取可以分為兩個額外的元件:

  • 內容回填
  • 歷程回填

稍後在監視進度並驗證 Catalog 是否已成功開啟,以及是否在 Tableau Server 環境中執行時,請務必注意內容回填和歷程回填的狀態。

初始擷取速度

Catalog 初次編製索引內容花費的時間視以下幾個因素而定:

  • Tableau Server 上的內容量:以發布到 Tableau Server 的工作簿、指標、已發行資料來源和流程總數測量。有關詳情,請參閱儲存中繼資料的磁碟空間

  • 非互動式微服務容器數量: Catalog 會使用非互動式微服務容器對 Tableau Server 上的所有內容編製索引。有關詳細資訊,請參閱非互動式微服務容器的記憶體

瞭解影響初始擷取的因素有助於評估在環境中啟用和執行 Catalog 可能需要的時間。

儲存中繼資料的磁碟空間

初始擷取期間,會產生中繼資料並儲存在 Tableau Server 存放庫(「關係」PostgreSQL 資料庫)中。儲存中繼資料所需的磁碟空間量大約是存放庫(「工作群組」PostgreSQL 資料庫)目前使用的磁碟空間的一半。

例如,假設存放庫在啟用 Catalog 之前使用 50 GB 的磁碟空間,則存放庫在啟用 Catalog 後最多可以使用 75 GB 的磁碟空間。

非互動式微服務容器的記憶體

初始擷取是在非互動式微服務容器內執行。非互動式微服務容器是兩種 Tableau Server 微服務容器(連結在新視窗開啟)程序之一。預設情況下,會將一個非互動式微服務容器的執行個體新增至已安裝背景程式程序的每個節點。

預設情況下,非互動式微服務容器的單一執行個體上的初始擷取在背景程式節點上最多可以使用 4 GB 的記憶體。如果 Tableau Server 上的內容量超過 10,000,則非互動式微服務容器在背景程式節點上最多可能需要 16 GB 的記憶體。因此,啟用 Catalog 時,請確保每個背景程式節點具有在初始擷取過程中支援每個非互動式微服務容器的可用容量。如果需要增加容量,則必須更新非互動式容器的 JVM 堆積大小,以便在背景程式節點上分配最多 16 GB 的記憶體。如需更多資訊,請參閱 noninteractivecontainer.vmopts

如果您計劃新增更多非互動式微服務容器以減少初始擷取時間,請先確定需要多少容器(使用步驟 2:估計初始擷取需要多長時間,如下所示),然後驗證 Tableau Server 環境設定是否有足夠的容量來支援所有非互動式微服務容器。根據 Tableau Server 環境的設定方式,可能無法新增減少初始擷取時間所需的所有其他非微服務容器。

啟用 Catalog 的最佳作法

由於初始擷取的速度和需求對於每個 Tableau Server 環境都是唯一的,因此 Tableau 建議在啟用 Catalog 時,執行下列一或多項動作:

  • 確保 Tableau Server 存放庫可以使用足夠的磁碟空間來支援初始擷取將產生和儲存的其他中繼資料。通常,存放庫需要自己目前使用的 50% 額外磁碟空間。有關 Tableau Server 磁碟使用情況的詳細資訊,請參閱伺服器磁碟空間

  • 根據 Tableau Server 上的內容量,請確保每個背景程式節點在初始擷取期間針對非互動式微服務容器的每個執行個體至少具有 4 至 16 GB 的可用記憶體。

  • 在週末執行此程序,以便在使用者開始使用 Catalog 功能之前,先完成初始擷取。

  • 首先在具有生產內容的測試環境中執行此程序。這是因為需要擷取的內容類型可能在擷取速度方面發揮重要作用。

簡要介紹啟用 Catalog 的步驟

以下步驟摘錄在 Tableau Server 上開啟和執行 Catalog 的程序。必須依序執行步驟。

  1. 確定 Tableau Server 上的內容量
  2. 估計初始擷取需要多長時間
  3. 減少初始擷取的時間
  4. 啟用資料管理附加元件
  5. 關閉 Catalog 功能
  6. 執行 tsm maintenance metadata-services 命令
  7. 監視初始擷取進度並驗證其狀態
  8. 設定 SMTP
  9. 開啟 Catalog 功能

附註:由於在 Tableau Sever 上為有關 Tableau 內容的中繼資料編製索引由中繼資料 API 提供技術支援,因此需要啟用中繼資料 API 才能執行和使用 Catalog。

啟用 Catalog

第 1 步:確定 Tableau Server 的內容量

要確定 Tableau Server 上的內容量,請執行以下動作:

  1. 使用管理員認證登入 Tableau Server。

  2. 轉到「瀏覽」頁面。

  3. 按一下「頂層專案」下拉式功能表,將所有工作簿所有指標所有資料來源所有流程旁的數字一起新增。這是 Tableau Server 上的內容總量。

步驟 2:估計初始擷取需要多長時間

若要估計 Catalog 首次在 Tableau Server 上擷取內容所花費的時間(初始擷取), 請將您的 Tableau Server 設定與基準線 Tableau Server 設定相比較。

對於具有以下設定的 Tableau Server ,初始擷取可能需要大約 6 小時才能完成。

組件 基準線值
內容 17,000 個工作簿、指標、已發行資料來源和流程
非互動式微服務容器 10
擷取 約 6 小時

如果 Tableau Server 環境中大約有一半內容,則初始擷取可能需要一半的時間才能完成。

例如:8,500(工作簿、指標、已發行資料來源和流程)+ 10 個非互動式微服務容器 = ~3 小時(初始擷取)

如果 Tableau Server 環境中大約有雙倍內容,則初始擷取可能需要雙倍的時間才能完成。

例如:34,000(工作簿、指標、已發行資料來源和流程)+ 10 個非互動式微服務容器 = ~12 小時(初始擷取)

步驟 3:減少初始擷取的時間

通常,Catalog 執行初始擷取所需的時間與非互動式微服務容器數量相關。為了幫助減少初始擷取的時間,您可以增加非互動式微服務容器的數量。

增加非互動式微服務容器的數量

預設情況下,會將一個非互動式微服務容器新增至具有背景程式的每個節點。為了幫助減少初始擷取的時間,Tableau 建議您可以使用 tsm topology set-process 命令,增加非互動式微服務容器的數量。

  1. 在叢集中的初始節點(安裝 TSM)上以管理員身分開啟命令提示字元。

  2. 執行命令:tsm topology set-process --count <process_count> --node <node_ID> --process <process_name>

    例如,若要將初始節點上的非互動式微服務容器增加到 4 個容器,請執行以下命令:

    tsm topology set-process --count 4 –-node node1 --process noninteractive

    有關執行命令及其全域選項的詳情,請參閱 tsm topology

重要資訊:增加非互動式微服務容器數量之前,請檢閱以下內容: 

  • 對於增加非互動式微服務容器的建議是針對非互動式微服務容器的總數,而不是每個節點的非互動式微服務容器的總數。例如,假設您有 4 個節點,但您想將非互動式容器的數量增加到 8 個。您在 tsm 命令中使用的 --count 值為 2。

  • 對於增加的每個非互動式微服務容器,節點上將使用 4 GB 的額外記憶體,並將負載加入 Tableau Server 存放庫(PostreSQL 資料庫)。

    • Tableau 建議您按照一次不超過 2 個的原則來累加非互動式微服務容器,同時密切監視 Tableau Server 環境,以避免發生 Tableau Server 存放庫(PostgreSQL 資料庫)的 CPU 利用率問題。

    • 請注意,當增加的非互動式微服務過多時,PostgreSQL 資料庫的 CPU 利用率可能會突然增加和容錯移轉。需要注意的徵兆包括 vizportal 記錄中的 SQLException 錯誤。有關詳細資訊,請參閱存放庫容錯轉移(連結在新視窗開啟)主題。

步驟 4:啟用 資料管理附加元件

(需要 資料管理附加元件

如果未完成,您可以啟用 資料管理附加元件。有關詳情,請參閱授權資料管理附加元件

步驟 5(可選):關閉每個站點的 Catalog 功能

(需要 資料管理附加元件

資料管理附加元件 啟用的環節中,預設情況下會開啟 Catalog 功能。由於編製索引程序和完成所需的估計時間,請考慮為每個站點暫時關閉 Catalog 功能,以便 Tableau Server 使用者在 Catalog 準備就緒並能夠提供完整和準確的結果之前,無法存取 Catalog 功能。

  1. 使用管理員認證登入 Tableau Server。

  2. 在左側巡覽窗格中,按一下「設定」

  3. 在「一般」索引標籤中的 Tableau Catalog 下,清除「開啟 Tableau Catalog」核取方塊。

  4. 在 Tableau Server 上對每個網站重複步驟 2-3。

步驟 6:執行 tsm maintenance metadata-services 命令

執行 tsm maintenance metadata-services 命令來停用 Tableau 中繼資料 API。執行命令,以開始初始擷取。如果您的 Tableau Server 已獲得資料管理附加元件的授權,執行命令也會開啟 Catalog 功能 (如果之前未關閉)。

  1. 在叢集中的初始節點(安裝 TSM)上以管理員身分開啟命令提示字元。

  2. 執行命令:tsm maintenance metadata-services enable

    有關執行 tsm 命令的詳情,請參閱 tsm 維護(連結在新視窗開啟)

附註:執行此命令時,請記住以下幾點:

  • 此命令會停止及啟動 Tableau Server 使用的某些服務,因此造成暫時無法使用部分功能,例如推薦功能。

  • 此時將建立新的中繼資料索引。任意後續時間執行此命令將建立並取代先前的索引。

步驟 7:監視初始擷取進度並驗證其狀態

執行上述的 tsm 命令,以啟動初始擷取程序。為確保初始擷取流程順利進行,您可以使用回填 API 監視其進度。有關詳情,請參閱獲取初始擷取狀態

步驟 8:進行 SMTP 設定

如果尚未針對 Tableau Server 設定,請設定 SMTP 設定。SMTP 支援傳送電子郵件給需要就資料變更而聯絡的擁有者。有關設定 SMTP 的詳情,請參閱設定 SMTP 設定(連結在新視窗開啟)

步驟 9(可選):為每個網站開啟 Catalog 功能

(需要 資料管理附加元件

如果在上述程序之一中啟用 Catalog 之前關閉 Catalog 功能,則必須開啟 Catalog,以便使用者可以存取其功能。

  1. 使用管理員認證登入 Tableau Server。

  2. 在左側巡覽窗格中,按一下「設定」

  3. 在「一般」索引標籤中的 Tableau Catalog 下,選取「開啟 Tableau Catalog」核取方塊。

  4. 在 Tableau Server 上對每個網站重複步驟 2-3。

疑難排解 Catalog

使用 Catalog 時,您或您的使用者可能會遇到下列其中一個問題。

已超過逾時限制和節點限制的訊息

為確保必須傳回大量結果的 Catalog 工作不會佔用所有 Tableau Server 系統資源,Catalog 會實作逾時和節點限制。

  • 逾時限制

    Catalog 中的工作達到逾時限制時,您和您的使用者會看到以下訊息:

    Showing partial results, Request time limit exceeded.Try again later.” 或 TIME_LIMIT_EXCEEDED

    要解決此問題,作為 Tableau Server 管理員,可以使用 tsm configuration set –k metadata.query.limits.time 命令增加逾時限制。如需更多資訊,請參閱 tsm 設定(連結在新視窗開啟)tsm 設定集選項(連結在新視窗開啟)主題。

    重要事項:增加逾時限制可以更長時間地利用更多 CPU,這可能會影響 Tableau Server 上其他處理序的效能。

  • 節點限制

    Catalog 中的工作達到節點限制時,您和您的使用者會看到以下訊息:

    NODE_LIMIT_EXCEEDED

    要解決此問題,作為 Tableau Server 管理員,可以使用 tsm configuration set –k metadata.query.limits.count 命令增加節點限制。如需更多資訊,請參閱 tsm 設定(連結在新視窗開啟)tsm 設定集選項(連結在新視窗開啟)主題。

    重要事項:增加逾時限制可能會影響系統記憶體。

缺少內容

  • 在初始攝取後,若您懷疑 Catalog 中缺少內容,則可以使用 Eventing API 進行疑難排解。初始攝取後,Eventing 會處理 Tableau Server 上的索引內容。有關詳情,請參閱取得 Eventing 狀態

  • 內嵌外部資產與其下游 Tableau 內容之間的連線被移除時,其會保留在 Catalog(或 Tableau 中繼資料 API)中,直到每天 22:00:00 UTC(國際標準時間)執行的背景程式流程自動將其刪除。例如,假設最初使用內嵌文字檔案 A 發佈的工作簿使用內嵌文字檔案 B 重新發佈。檔案 A 作為外部資產會保持可見(或可查詢),直到後台程式流程能夠將其刪除。

    若您不想移除這些類型的外部資產,或者您認為其佔用了您不想專門用於此流程的系統資源,則可以停用執行此背景程式流程。或者,您可以調整刪除的外部內嵌資產的數量。有關詳情,請參閱 features.DeleteOrphanedEmbeddedDatabaseAssetdatabaseservice.max_database_deletes_per_run

    可以透過以下兩種方式之一監視此流程:

初始擷取後效能

在某些 Tableau Server 環境中,由於特定內容的更新非常頻繁(例如透過高頻率排程、命令列或 API 請求進行更新),索引編制流程可能會變得過於飽和。在這些情況下,作為伺服器管理員,您可以考慮啟用事件節流,以更好地保留 Catalog 效能。有關詳情,請參閱 metadata.ingestor.pipeline.throttleEventsEnable

附註:啟用事件節流後,使用者可能會注意到 Catalog 中的內容變更會發生預期延遲。

記憶體不足錯誤

在某些情況下,Tableau Server 記憶體不足錯誤可能是由於擷取複雜內容時出現問題所致。若懷疑擷取是 Tableau Server 上記憶體不足錯誤的原因,請與 Tableau 支援人員聯絡,並與其合作,以防止擷取 metadata.ingestor.blocklist,從而協助您解決問題。

停用 Catalog

身為 Tableau Server 管理員,您可以使用下列兩種方法的其中之一來停用 Catalog。

為每個網站關閉 Catalog 功能

(需要 資料管理附加元件

您可以隨時關閉 Catalog 功能。關閉 Catalog 功能後,將無法透過 Tableau Server 存取 Catalog 的功能,例如,新增資料品質警告,或能夠明確管理對資料庫和表資產的權限。但 Catalog 會繼續為已發佈的內容編製索引,並且可透過 Tableau 中繼資料 API 和 Tableau REST API 中的中繼資料方法存取中繼資料。

  1. 使用您的網站管理員認證登入 使用您的管理員認證登入 Tableau Server.

  2. 在左側巡覽窗格中,按一下「設定」

  3. 在「一般」索引標籤中的 Tableau Catalog 下,清除「開啟 Tableau Catalog」核取方塊。

停止為 Tableau Server 上的中繼資料編製索引

若要停止為 Tableau Server 上的發布內容編製索引,您可以停用 Tableau 中繼資料 API。若要停用 Metadata API,請執行 tsm maintenance metadata-services disable 命令。有關詳情,請參閱 tsm maintenance(連結在新視窗開啟)

此區段的其他文章

感謝您的意見回饋!