Tableau Prep Builder 疑難排解
本文列出了您在使用 Tableau Prep Builder 時可能遇到的問題以及有關如何解決這些問題的建議。
對流程問題進行疑難排解時,無論是為自己偵錯還是聯絡支援人員,您通常都需要收集記錄檔和損毀傾印檔案以進行分析,並記錄重現錯誤所需的步驟。提供在錯誤發生前採取的確切步驟以及流程檔案,是幫助開發人員或支援團隊診斷問題的最佳方式。
正在收集記錄檔和損毀傾印檔案
Tableau Prep 記錄檔儲存在「我的 Tableau Prep 存放庫」資料夾中。預設情況下,該位置為:
Windows: C:\Users\<username>\Documents\My Tableau Prep Repository\Logs.
MacOS: /users/<username>/Documents/My Tableau Prep Repository/Logs
要正確診斷問題,需要收集所有記錄檔。如果執行的是 Tableau Prep Builder,這就是「我的 Tableau Prep 存放庫/記錄檔」資料夾中的所有內容。如果透過命令列執行 Tableau Prep,請包括來自「我的 Tableau Prep 存放庫/命令列存放庫/記錄檔」中的記錄檔。
下表說明所產生的不同記錄檔。
| 記錄檔檔案名稱 | 產生記錄檔的程序 | 描述 |
|---|---|---|
| app.log | Tableau Prep.exe | 使用者介面記錄檔。這是由在電子處理序中運行的 JavaScript 代碼產生的。 |
| backendProcessManager.log | Tableau Prep.exe | 這是由啟動並監控 Java 處理序的 JavaScript 代碼所產生的。 |
preprestapi.log | Java.exe | 這是 Java 程式碼產生的記錄檔。有關 REST API 使用、編譯、快取管理以及 tabminerva(先前稱為 prepservice)程序的啟動和關閉的記錄項目應位於此處。 |
| log.txt | prepservice.exe tabminerva.exe | 此記錄檔由 C++ 程式碼產生。 此記錄檔包括與 Tableau 共用技術堆疊的所有互動,包括與資料庫的連線、查詢、執行、外部快取、查詢管道、協定等。 |
| tdeserver.txt | tdeserver64.exe | 這是舊 Tableau 資料引擎建立的記錄檔。Tableau Prep 仍使用 Tableau 資料引擎。 |
| tabprotosrv.txt | tabprotosrv.exe | 通訊協定伺服器記錄檔。任何使用託管資料庫驅動程式的內容都將在此檔案中產生記錄行。 |
| hyperd.log | hyperd.exe | Hyper 記錄檔。此處包含查詢及與查詢相關的錯誤。 |
啟用查詢記錄
從 Tableau Prep Builder 版本 2026.2 開始,可以在說明>設定和效能功能表下開啟啟用查詢記錄設定,而無需重新啟動應用程式。開啟時,此設定會為 Tableau Prep Builder 執行的每個查詢產生一個 XML 查詢檔案。這在診斷流程問題時很有幫助。記錄檔會產生並儲存在查詢資料夾中。

可以在以下目錄中找到這些查詢記錄檔:
Windows: C:\Users\<username>\Documents\My Tableau Prep Repository\Query
MacOS: /users/<username>/Documents/My Tableau Prep Repository/Query
執行 LogShark
LogShark 是一個免費的開源命令列公用程式,可以使用它從 Prep 記錄檔中擷取資訊以進行疑難排解並深入了解錯誤和使用情況。使用 LogShark Prep.twbx 外掛程式,可以產生帶有錯誤和流程儀表板的工作簿,以幫助分析和視覺化 Prep 問題。
有關安裝和執行 LogShark 的資訊,請參閱為電腦設定 LogShark。
建立損毀傾印檔案
除了記錄檔之外,還要收集損毀傾印檔案。此處可能詳細說明記錄檔中未包含的任何內容,這些資訊可在查詢 .hyper 時對應用程式啟動、例外狀況或問題進行疑難排解時有所幫助。
建立損毀傾印檔案時,為以下處理序建立這些檔案很有用。
| 處理序 | 描述 |
|---|---|
| tabminerva.exe(先前為 prepservice.exe) | 這是承載 Tableau Prep 商務邏輯其餘部分的原生程序。這個程序也包含共用的 Tableau 原生技術,包括資料庫連接器。 |
| hyperd.exe | 這是 Hyper 資料庫處理序。查詢失敗的任何時候。發生故障時,hyper 的損毀傾印可能很有用,因為 Tableau Prep 所做的大部分工作都涉及對 hyper 的查詢。 |
若要建立損毀傾印檔案,請根據作業系統執行以下動作。
Windows
開啟「工作管理員」。
右鍵按一下欄標題,然後選取處理序名稱和命令列。這將顯示不同的處理序,並使您能夠選取要用於建立損毀傾印檔案的處理序。
以右鍵按一下 tabminerva.exe 處理序(先前為 prepservice.exe)。
選取「建立傾印檔案」。
將開啟一個對話方塊,並顯示損毀傾印檔案在系統上的位置。
MacOS
在 MacOS 上,有兩種類型的診斷檔案可用於對 Tableau Prep 進行疑難排解:
損毀報告 — 記錄損毀時的呼叫堆疊,類似於堆疊追蹤。
核心檔案 — 終止時處理序記憶體的完整快照。
兩者都需要終止 Tableau Prep 程序。收集這些檔案後,將需要重新啟動 Tableau Prep。
必要條件:核心檔案收集需要管理員存取權。
步驟 1:建立損毀報告
開啟終端機。
執行命令:
pgrep tabminerva | xargs kill -SEGV這會透過向 tabminerva.exe 處理序傳送分割錯誤訊號來終止該處理序,從而導致 MacOS 自動產生損毀報告。
在以下位置尋找儲存的損毀報告:
~/Library/Logs/DiagnosticReports/檔案名稱採用 tabminerva_YYYY-MM-DD-HHMMSS_machinename.crash 或 tabminerva_YYYY-MM-DD-HHMMSS_machinename.ips 格式
將此檔案傳送給 Tableau 支援或開發團隊時,請務必說明您有意傳送區隔錯誤訊號以產生報告。這將其與真正的毀損區分開來。
步驟 2:建立核心檔案
建立核心檔案時,使用以下選項之一。
建立核心檔案並終止 Tableau Prep 工作階段
開啟終端機。
執行命令
sudo chmod 1777 /cores以授予對核心檔案目錄的寫入存取權限。執行命令
ulimit -c unlimited以移除目前終端工作階段的核心檔案大小限制。執行命令
pgrep tabminerva | xargs kill -SEGV以終止程序並產生核心檔案。在
/cores/中找到核心檔案,並將其命名為core.<process_id>。
建立核心檔案並讓 Tableau Prep 保持執行
此選項使用 gcore 公用程式來捕獲執行中處理序的核心傾印而不結束它。此程序需要安裝 Xcode 命令列工具。若要檢查是否已安裝此選項,請開啟終端機並執行 Bash xcode-select --install。
開啟終端機。
執行命令:
sudo gcore -o /tmp/tabminerva.core $(pgrep tabminerva)這會將核心檔案儲存到
/tmp/tabminerva.core。Tableau Prep 會繼續正常執行。
使用命令列執行流程時的常見錯誤
您可以從命令列中執行流程來重新整理輸出檔案,而不是開啟 Tableau Prep Builder 以手動方式執行每個流程。儘管此過程可幫助提高流程的效率,但如果語法不正確,或者缺少連線或輸出位置的認證,則在執行此過程時會出現錯誤。
有關 Tableau Prep 中支援的所有命令列選項的清單,請參閱 Tableau Prep 命令列參考(連結在新視窗開啟)。
下表描述了常見錯誤以及如何解決這些錯誤。有關如何從命令列中執行流程的資訊,請參閱透過命令列重新整理流程輸出檔案(連結在新視窗開啟)。
| 錯誤 | 原因 | 如何修復 |
|---|---|---|
| 「Missing arguments」(缺少引數) | 缺少必需的命令列引數之一。 | 使用「tableau-prep-cli -help」來查看命令列引數的清單。 |
| 「Unable to read the connections file.」(無法讀取連線檔案。) | 輸入連線的 credentials.json 檔案中的語法或格式存在錯誤。 | 請檢查 .json 檔案中輸入連線的語法。有關詳情和範例,請參閱透過命令列重新整理流程輸出檔案(連結在新視窗開啟)。 |
「There are errors in the flow.Unable to run the flow. Check that the credentials .json file includes all required credentials.在 Tableau Prep Builder 中開啟流程以檢視錯誤詳情。」 | 輸入連線的 credentials.json 檔案中缺少認證,或者流程包含錯誤。 | 請檢查 .json 檔案是否具有所有連線的認證,並在 Tableau Prep Builder 中開啟流程檔案,確定流程中是否存在任何錯誤。 如果流程有錯誤,您必須修復這些錯誤並將流程重新發佈到 Tableau Server,然後再次嘗試執行該過程。 |
| 「Could not find match for <hostname of inputConnections >」(找不到 <輸入連線的主機名稱> 的匹配項) | Credentials.json 檔案缺少主機名稱(伺服器名稱)條目。 | 請確保 credentials.json 檔案包括主機名稱(伺服器名稱)的正確認證。 有關詳情和範例,請參閱透過命令列重新整理流程輸出檔案(連結在新視窗開啟)。 |
| 「We don't have credentials of all connections in tfl/tflx file.The following connection(s) were not found: <hostname of inputConnections>」(tfl/tflx 檔案中沒有所有連線的認證。找不到以下連線:<輸入連線的主機名稱>) | credentials.json 檔案缺失,或包含對於錯誤訊息中顯示的主機名稱(伺服器名稱)而言不正確的認證。 | 請確保 credentials.json 檔案包括錯誤訊息中所列主機名稱(伺服器名稱)的正確認證。 有關詳情和範例,請參閱透過命令列重新整理流程輸出檔案。 |
| 「Error signing in server <serverUrl> as a user <userName>.Please check the credentials.」(以使用者 <使用者名> 登入到伺服器 <伺服器 URL> 時出錯。請檢查認證。) | credentials.json 檔案包含的認證對於 Tableau Server 不正確。 | 請確保 credentials.json 檔案包括適用於輸出連線的所有正確認證和元素。 有關詳情和範例,請參閱透過命令列重新整理流程輸出檔案。 |
| 「Could not sign in successfully as <userName> to server <serverUrl>(<contentUrl>)」(無法以 <使用者名> 成功登入到伺服器 <伺服器 URL>(<內容 URL>)) | credentials.json 檔案包含的認證對於 Tableau Server 不正確。 | 請確保 credentials.json 檔案包括適用於輸出連線的所有正確認證和元素。 有關詳情和範例,請參閱透過命令列重新整理流程輸出檔案。 |
| 「We don't have credentials for Tableau Server to publish extract for one or more output nodes in tfl/tflx file.」(tfl/tflx 檔案中沒有用於為一個或多個輸出節點發佈擷取的 Tableau Server 認證。) | credentials.json 檔案未作為命令列引數傳入,或者其缺少輸出連線的認證。 | 請確保在命令列中包括 credentials.json 檔案的路徑,並驗證 credentials.json 檔案是否包括適用於輸出連線的所有正確認證和元素。 有關詳情和範例,請參閱透過命令列重新整理流程輸出檔案。 |
| 「Loom rest api server not started」(Loom rest api 伺服器未啟動) | 安裝或環境設定不正確。 | 請確保正確安裝了 Tableau Prep Builder,並且您以管理員執行命令。 如需有關如何安裝 Tableau Prep Builder 的資訊,請參閱從使用者介面安裝 Tableau Desktop 或 Tableau Prep Builder(連結在新視窗開啟)。 |
| 「Error.Flow file does not exist.」(錯誤。流程檔案不存在。) | 流程檔案的路徑不正確。 | 請確保在命令列中包括流程檔的正確路徑。 |
| 「Error.Connections file does not exist.」(錯誤。連線檔案不存在。) | credentials.json 檔案的路徑不正確。 | 請確保在命令列中包括 credentials.json 檔案的正確路徑。 |
| 「找不到 <mapr01:5181><mapr02:5181>,<mapr03:5181> 相符項目」 | 使用 ZooKeeper 連線到 Apache Drill 時,您必須指定特定的埠 ID。 | 在命令列中包含指定「埠」:31010 的 credentials.json 檔案以用於輸入認證。 |
常見 Tableau Prep 錯誤
下表描述在使用 Tableau Prep 時可能遇到的一些常見錯誤以及可以嘗試的解決方案。
| 錯誤 | 原因 | 如何修復 | Knowledge 文章 |
|---|---|---|---|
無法連線到 Tableau Server。檢查伺服器是否正在執行以及 URL 是否正確。tableauErrorCode=0xD5A9A6F9; tableauStatusCode=UNAUTHENTICATED; exceptionName=VizportalAuthenticationException | Proxy 或防火牆阻止 Tableau Prep Builder 的內嵌瀏覽器完成 Tableau Cloud 登入握手。 | 與 IT 部門合作,透過 Proxy 安全列出 Tableau Cloud URL。 從 Tableau Prep Builder 中登出並重新登出。 如果有自動 Proxy 設定指令碼,請驗證它是否在不提示輸入認證的情況下處理驗證。 | 在需要驗證的 Tableau Online 環境中無法從 Tableau Prep Builder 登入到 Tableau Online 需要驗證的 Proxy(連結在新視窗開啟) |
所需的 SSL 憑證可能缺失或與 [serverhostname] 的 Tableau Server 憑證不相符。 在伺服器上執行流程時,也顯示為「找不到流程 ID 請求的憑證路徑」。 | Tableau Server 上缺少 SSL 憑證鏈結檔案,或者執行 Tableau Prep Builder 的電腦上未安裝該鏈結檔案。在某些情況下,問題是由 AWS 負載平衡器使用不相容的 TLS 原則引起的。 | 請確保已將 SSL 憑證鏈檔案上傳到 Tableau Server。 在執行 Prep Builder 的電腦上安裝憑證(如果按兩下並選取「安裝憑證」會傳回「該檔案無效,無法用於以下內容:安全性憑證」,則憑證檔案本身可能格式錯誤。與 IT 合作匯出有效的鏈檔案。 如果落後於 AWS 負載平衡器,請將原則降級為 ELBSecurityPolicy-TLS-1-2-2017-01。 | 錯誤 - 所需的 SSL 憑證可能遺失或與 Tableau Server 憑證不相符 - 從 Tableau Prep 登入(連結在新視窗開啟) |
由於基礎處理序意外停止,Tableau Prep Builder 已停止執行。如果問題仍然存在,請嘗試重新安裝產品。 | 這可能由多種因素觸發:VPN/網路設定(透過 Cato Network VPN 阻止本機主機通訊確認)、防毒幹擾或開啟特定 .tfl 檔案時連接埠檔案損壞。 附註:切勿將 Tableau Prep Builder 安裝在 Tableau Server 節點上。這是此錯誤的已知原因。 | 重新安裝、檢查 AV 排除、驗證本機主機 IPv4/IPv6 通訊 如果是 VPN 特定的,請使用備用 VPN 進行測試以進行隔離;讓網路團隊參與檢查 localhost 區塊 若繫結至特定 .tfl 檔案,請收集 Prep 記錄和 IPS 轉儲,以調查 tabminerva 程序當機 確保未在任何 Tableau Server 節點上安裝 Tableau Prep Builder。 | 錯誤:由於啟動 Tableau Prep 時基礎處理序意外停止,Tableau Prep 已停止執行(連結在新視窗開啟) |
| AqlProcessor evaluation failed:已取消 — 流程在樞紐步驟後失敗 | 在樞紐步驟後變更樞紐欄的值時的已知問題。 | 注意:此修補檔適用於 2022.2 及更高版本。 升級到修補檔涵蓋的版本。 作為舊版本的解決方法,請避免在樞紐的下游步驟中修改樞紐的欄值。 | 錯誤:系統錯誤 - 與資料來源 (LoomDataSource) 通訊時發生錯誤 在樞紐步驟之後變更樞紐欄的值時發生(連結在新視窗開啟) |
| 無法發佈資料來源」 — 流程在本機或輸出到 .hyper 檔案時成功執行,但在發佈到 Tableau Cloud 時失敗。 | 由於臨時檔案大小超過 Tableau Cloud 限制,流程失敗。當流程因與記憶體相關的 SQL 錯誤(例如,大型 JOIN 作業)而失敗時,也會出現這種情況,這些錯誤僅在 Tableau Cloud 中出現,而不是在本機出現。 | 將輸出切換到本機 .hyper 檔案,以確認該問題是雲端特定的。 降低流程複雜性、分成更小的流程、移除未使用的欄或使用即時連線。 | 不適用 |
| Prep Builder 無法在 Windows 上開啟;偵錯記錄顯示與相對暫存資料夾路徑相關的錯誤。 | Windows TEMP 環境變數設定為相對路徑(例如 Tableau Prep Builder 需要絕對路徑。 | 驗證 Windows TEMP 環境變數是否設定為絕對路徑(例如 從 TEMP 變數中移除任何重複項目。 | 不適用 |
