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를 실행 중인 경우 'My Tableau Prep Repository/Logs' 폴더에 있는 항목이 전부입니다. 명령줄에서 Tableau Prep을 실행하는 경우 'My Tableau Prep Repository/Command Line Repository/Logs'의 로그 파일을 포함하십시오.

다음 표에서는 생성되는 다양한 로그 파일에 대해 설명합니다.

로그 파일 이름로그 파일을 생성하는 프로세스설명
app.logTableau Prep.exe사용자 인터페이스 로그 파일입니다. Electron 프로세스에서 실행되는 JavaScript 코드에 의해 생성됩니다.
backendProcessManager.logTableau Prep.exeJava 프로세스를 시작하고 모니터링하는 JavaScript 코드에 의해 생성됩니다.

preprestapi.log

Java.exe

Java 코드에 의해 생성되는 로그 파일입니다. REST API 사용, 컴파일, 캐시 관리, tabminerva(이전의 prepservice) 프로세스 시작 및 종료와 관련된 로그 항목이 여기에 포함되어야 합니다.

log.txt

prepservice.exe

tabminerva.exe

C++ 코드에 의해 생성되는 로그입니다.

이 로그에는 데이터베이스에 대한 연결, 쿼리, 실행, 외부 캐싱, 쿼리 파이프라인, 프로토콜 등을 비롯하여 Tableau 공유 기술 스택과의 모든 상호 작용이 포함됩니다.

tdeserver.txttdeserver64.exe

이전 Tableau 데이터 엔진에 의해 생성된 로그 파일입니다. Tableau Prep은 계속해서 Tableau 데이터 엔진을 사용합니다.

tabprotosrv.txttabprotosrv.exe

프로토콜 서버 로그입니다. 호스트형 데이터베이스 드라이버를 사용하는 모든 작업은 이 파일에 로그 라인을 생성합니다.

hyperd.loghyperd.exe

Hyper 로그입니다. 쿼리 및 쿼리와 관련된 오류가 여기에 포함됩니다.

쿼리 로깅 사용

Tableau Prep Builder 버전 2026.2부터 응용 프로그램을 다시 시작하지 않고도 도움말 > 설정 및 성능 메뉴 아래에서 쿼리 로깅 사용 설정을 켤 수 있습니다. 이 설정을 켜면 Tableau Prep Builder가 실행하는 각 쿼리에 대해 XML 쿼리 파일이 생성됩니다. 이는 흐름 관련 문제를 진단할 때 유용할 수 있습니다. 로그는 쿼리 폴더에 생성 및 저장됩니다.

설정 및 성능 메뉴 옵션이 표시된 Tableau Prep의 도움말 메뉴입니다.

이러한 쿼리 로그는 다음 디렉터리에서 찾을 수 있습니다.

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.exeHyper 데이터베이스 프로세스입니다. 쿼리가 실패할 때마다 생성됩니다. Hyper의 충돌 덤프는 Tableau Prep이 수행하는 작업 중 상당 부분이 Hyper에 대한 쿼리와 관련되어 있기 때문에 오류가 발생한 경우 유용할 수 있습니다.

충돌 덤프 파일을 만들려면 운영 체제에 따라 다음을 수행합니다.

Windows

  1. 작업 관리자를 엽니다.

  2. 열 머리글을 마우스 오른쪽 단추로 클릭하고 프로세스 이름명령줄을 선택합니다. 그러면 다양한 프로세스가 표시되며, 충돌 덤프 파일을 만드는 데 사용할 프로세스를 선택할 수 있습니다.

  3. tabminerva.exe 프로세스(이전의 prepservice.exe)를 마우스 오른쪽 단추로 클릭합니다.

  4. '덤프 파일 만들기'를 선택합니다.

    대화 상자가 열리고 시스템의 충돌 덤프 파일 위치가 표시됩니다.

MacOS

MacOS에는 Tableau Prep 문제 해결에 유용한 두 가지 유형의 진단 파일이 있습니다.

  • 충돌 보고서 - 스택 추적과 유사하게 충돌 시 호출 스택을 기록합니다.

  • 코어 파일 - 종료 시점의 프로세스 메모리에 대한 전체 스냅샷입니다.

둘 다 Tableau Prep 프로세스를 종료해야 합니다. 이러한 파일을 수집한 후에는 Tableau Prep을 다시 시작해야 합니다.

필수 요건: 코어 파일 수집을 위해서는 관리자 액세스 권한이 필요합니다.

1단계: 충돌 보고서 만들기

  1. 터미널을 엽니다.

  2. pgrep tabminerva | xargs kill -SEGV 명령을 실행합니다.

    그러면 세분화 오류 신호를 전송하여 tabminerva.exe 프로세스가 종료되며, 이로 인해 MacOS가 충돌 보고서를 자동으로 생성합니다.

  3. 다음 위치의 저장된 충돌 보고서를 찾습니다. ~/Library/Logs/DiagnosticReports/

    파일 이름은 tabminerva_YYYY-MM-DD-HHMMSS_machinename.crash 또는 tabminerva_YYYY-MM-DD-HHMMSS_machinename.ips 형식을 따릅니다.

이 파일을 Tableau 지원 팀이나 개발 팀에 보낼 때 보고서를 생성하기 위해 의도적으로 세분화 오류 신호를 보냈다는 사실을 명시해야 합니다. 이는 실제 충돌과 구별됩니다.

2단계: 코어 파일 만들기

다음 옵션 중 하나를 사용하여 코어 파일을 만듭니다.

코어 파일 만들기 및 Tableau Prep 세션 종료

  1. 터미널을 엽니다.

  2. sudo chmod 1777 /cores 명령을 실행하여 코어 파일 디렉터리에 대한 쓰기 권한을 부여합니다.

  3. ulimit -c unlimited 명령을 실행하여 현재 터미널 세션의 코어 파일 크기에 대한 제한을 제거합니다.

  4. pgrep tabminerva | xargs kill -SEGV 명령을 실행하여 프로세스를 종료하고 코어 파일을 생성합니다.

  5. core.<process_id>라는 코어 파일을 /cores/에서 찾습니다.

코어 파일 만들기 및 Tableau Prep 실행 유지

이 옵션은 gcore 유틸리티를 사용하여 실행 중인 프로세스를 종료하지 않고 코어 덤프를 캡처합니다. 이 프로세스를 수행하려면 Xcode 명령줄 도구를 설치해야 합니다. 이 옵션이 설치되어 있는지 확인하려면 터미널을 열고 Bash xcode-select --install을 실행합니다.

  1. 터미널을 엽니다.

  2. 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. Open the flow in Tableau Prep Builder to view error details.(흐름에 오류가 있으므로 흐름을 실행할 수 없습니다. 자격 증명 .json 파일에 필요한 모든 자격 증명이 포함되어 있는지 확인하십시오. 오류 세부 정보를 보려면 Tableau Prep에서 흐름을 여십시오.)"

입력 연결에 대한 credentials.json 파일에 자격 증명이 누락되었거나 흐름에 오류가 있습니다.

.json 파일에 모든 연결에 대한 자격 증명이 있는지 확인하고 Tableau Prep Builder에서 흐름 파일을 열어 흐름에 오류가 있는지 확인합니다.

흐름에 오류가 있으면 이를 수정하고 흐름을 Tableau Server에 다시 게시한 다음 프로세스를 다시 실행해 보십시오.

"Could not find match for <hostname of inputConnections >(<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 파일에 모든 연결의 자격 증명이 없습니다. 다음 연결을 찾을 수 없습니다.<inputConnections의 호스트 이름>)"credentials.json 파일이 누락되었거나 오류 메시지에 표시된 호스트 이름(서버 이름)에 대한 잘못된 자격 증명이 있습니다.

credentials.json 파일에 오류 메시지에 나와 있는 호스트 이름(서버 이름)에 대한 올바른 자격 증명이 포함되어 있는지 확인하십시오.

자세한 내용과 예제는 명령줄에서 흐름 출력 파일 새로 고침을 참조하십시오.

"Error signing in server <serverUrl> as a user <userName>. Please check the credentials.(<serverUrl> 서버에 <userName> 사용자로 로그인하는 동안 오류가 발생했습니다. 자격 증명을 확인하십시오.)"credentials.json 파일에 Tableau Server에 대한 잘못된 자격 증명이 있습니다.

credentials.json 파일에 출력 연결에 대한 모든 올바른 자격 증명 및 요소가 포함되어 있는지 확인하십시오.

자세한 내용과 예제는 명령줄에서 흐름 출력 파일 새로 고침을 참조하십시오.

"Could not sign in successfully as <userName> to server <serverUrl>(<contentUrl>)(<serverUrl> 서버(<contentUrl>)에 <userName>(으)로 로그인할 수 없음)"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.(Tableau Server가 tfl/tflx 파일에 있는 하나 이상의 출력 노드에 대한 추출을 게시할 수 있는 자격 증명이 없습니다.)"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 파일에 대한 올바른 경로가 명령줄에 포함되어 있는지 확인하십시오.
"Could not find match for <mapr01:5181>,<mapr02:5181>,<mapr03:5181>(<mapr01:5181>,<mapr02:5181>,<mapr03:5181>에 대한 일치 항목을 찾을 수 없습니다.)"ZooKeeper를 사용하여 Apache Drill에 연결할 때 특정 포트 ID를 지정해야 합니다.입력 자격 증명에 대해 "port": 31010을 지정하는 credentials.json 파일을 명령줄에 포함합니다.

일반적인 Tableau Prep 오류

다음 표에서는 Tableau Prep을 사용할 때 발생할 수 있는 몇 가지 일반적인 오류와 함께 시도할 수 있는 솔루션에 대해 설명합니다.

오류원인해결하는 방법기술 자료
Tableau Server에 연결할 수 없습니다. 서버가 실행 중이고 URL이 올바른지 확인하십시오. tableauErrorCode=0xD5A9A6F9; tableauStatusCode=UNAUTHENTICATED; exceptionName=VizportalAuthenticationException프록시 또는 방화벽으로 인해 Tableau Prep Builder의 내장된 브라우저가 Tableau Cloud 로그인 핸드셰이크를 완료하지 못합니다.

IT 부서와 협력하여 프록시를 통해 Tableau Cloud URL을 허용 목록에 추가합니다.

Tableau Prep Builder에서 로그아웃했다가 다시 로그인합니다.

자동 프록시 구성 스크립트가 있는 경우 자격 증명을 묻지 않고 인증을 처리하는지 확인합니다.

인증이 필요한 프록시 환경에서 Tableau Prep Builder의 Tableau Online에 로그인할 수 없음(링크가 새 창에서 열림)

필요한 SSL 인증서가 없거나 [serverhostname]의 Tableau Server 인증서와 일치하지 않습니다.

서버에서 흐름을 실행하는 경우 '흐름 ID에 대해 요청된 인증서 경로를 찾을 수 없음'으로도 표시됩니다.

Tableau Server에 SSL 인증서 체인 파일이 없거나 Tableau Prep Builder를 실행하는 컴퓨터에 체인 파일이 설치되어 있지 않습니다. 경우에 따라 호환되지 않는 TLS 정책을 사용하는 AWS 부하 분산 장치로 인해 문제가 발생할 수 있습니다.

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이 localhost 통신을 차단하는 것으로 확인됨), 바이러스 백신 프로그램의 간섭, 특정 .tfl 파일을 열 때 발생하는 포트 파일 손상 등 여러 요인에 의해 발생할 수 있습니다.

참고: Tableau Prep Builder는 Tableau Server 노드에 설치해서는 안 됩니다. 이 오류의 알려진 원인이기 때문입니다.

다시 설치하고, AV 제외를 확인하고, localhost IPv4/IPv6 통신을 확인합니다.

VPN과 관련된 경우 대체 VPN으로 테스트하여 격리하고, 네트워크 팀의 도움을 받아 localhost 블록을 확인합니다.

특정 .tfl 파일에 연결된 경우 Prep 로그 및 IPS 덤프를 수집하여 tabminerva 프로세스 충돌을 조사합니다.

Tableau Prep Builder가 Tableau Server 노드에 설치되어 있지 않은지 확인합니다.

오류: Tableau Prep을 시작할 때 기본 프로세스가 예기치 않게 중지되어 Tableau Prep의 실행이 중지됨(링크가 새 창에서 열림)
AqlProcessor 평가 실패: 취소됨 - 피벗 단계 후 흐름이 실패함피벗 단계 후에 피벗된 열의 값을 변경할 때 발생하는 알려진 문제입니다.

참고: 이 수정 사항은 버전 2022.2 이상에 적용됩니다.

수정 사항이 적용되는 버전으로 업그레이드합니다.

이전 버전의 해결 방법으로, 피벗 작업 이후 단계에서는 피벗된 열의 값을 수정하지 마십시오.

오류: 시스템 오류 - 피벗 단계 이후에 피벗된 열의 값을 변경할 때 데이터 원본(LoomDataSource)과 통신하는 동안 오류 발생(링크가 새 창에서 열림)
데이터 원본을 게시할 수 없음 - 흐름은 로컬로 출력하거나 .hyper 파일로 출력할 때 성공적으로 실행되지만 Tableau Cloud에 게시할 때는 실패합니다.임시 파일의 크기가 Tableau Cloud 제한을 초과하여 흐름이 실패합니다. 또한 흐름이 로컬이 아닌 Tableau Cloud에만 표시되는 메모리 관련 SQL 오류(예: 대규모 JOIN 작업)로 인해 실패하는 경우에도 나타납니다.

출력을 로컬 .hyper 파일로 전환하여 클라우드와 관련된 문제인지 확인합니다.

흐름의 복잡성을 줄이거나, 더 작은 흐름으로 분할하거나, 사용하지 않는 열을 제거하거나, 라이브 연결을 사용할 수 있습니다.

해당 없음
Prep Builder가 Windows에서 열리지 않음, 디버그 로그에 상대 임시 폴더 경로와 관련된 오류가 표시됩니다.

Windows TEMP 환경 변수가 상대 경로(예: %USERPROFILE%\AppData\Local\Temp)로 설정되어 있거나 중복 경로 항목을 포함합니다.

Tableau Prep Builder에는 절대 경로가 필요합니다.

Windows TEMP 환경 변수가 절대 경로로 설정되어 있는지 확인합니다(예: C:\Users[username]\AppData\Local\Temp).

TEMP 변수에서 중복 항목을 제거합니다.

해당 없음
피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!