본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

Data Connection FAQ

다음은 Data Connection에 대한 자주 묻는 질문입니다.

일반적인 정보는 Data Connection 관련 문서를 참조하세요.


예약된 빌드가 실행되지 않음

빌드가 예약된 시간에 실행되지 않았습니다.

문제 해결을 위해 다음 단계를 수행하세요:

  1. 이 데이터셋과 브랜치에 대한 다른 실행 중인 동기화가 있습니까? 동일한 데이터셋과 브랜치에서 동시에 두 개의 동기화를 실행할 수 없으므로 다른 작업이 실행 중인지 확인합니다.

  2. 일정이 일시 중지되었습니까? 이 데이터셋에 대한 일정 전체보기 페이지에서 이 일정이 일시 중지되지 않았는지 확인합니다. 동기화의 Scheduler에서 편집 보기 또는 데이터셋 미리보기의 일정 관리 옵션을 통해 이 페이지에 액세스할 수 있습니다.

  3. 이 동기화의 소스와 연결된 에이전트가 비활성화되었습니까? 이 동기화의 소스와 관련된 에이전트로 이동하여 에이전트가 비활성화되지 않았는지 확인합니다.

맨 위로 돌아가기


SNAPSHOT 트랜잭션 실행 중 데이터셋에서 중복 행 발생

동기화가 실행되었지만 중복 행이 발생했습니다.

  1. 새로운 동기화를 생성할 때 Snapshot 대신 APPEND 유형 동기화를 실행하도록 선택합니다.
  2. 점진적 설정을 선언할 때 last_upd_in_appl_ts가 고유하고 항상 증가하는 열이면 해당 열을 설정한 다음 이 열의 다른 값보다 작은 값을 선택합니다.
  3. 이후 추가 조치가 필요하지 않아야 합니다. Data Connection은 동기화된 최신 값을 추적하고 추가적인 새로운 행만 가져옵니다. 새로운 것은 이전 값보다 크고 새로운 타임스탬프는 이전 타임스탬프보다 큽니다.

맨 위로 돌아가기


점진적 로드 실행 시간 정보

점진적 동기화를 실행할 때 어떤 값을 사용했습니까?

문제 해결을 위해 다음 단계를 수행하세요:

  1. 데이터셋으로 이동합니다.
  2. 화면 상단 근처에서 기록을 선택합니다.
  3. 화면 왼쪽 부분에서 관심 있는 관련 트랜잭션을 선택합니다.
  4. 빌드를 확인합니다.
  5. 트랜잭션을 확인합니다.
  6. 화면 하단 근처에서 사용자 정의 메타데이터 섹션을 확장합니다.
  7. incrementalMetadata 블록을 검토하고 정확성을 확인합니다.

맨 위로 돌아가기


데이터베이스와 데이터셋 사이의 열 유형이 일치하지 않음

동기화 후 데이터셋에 표시되는 것과 다른 유형이 있습니다.

문제 해결을 위해 다음 단계를 수행하세요:

  1. 열이 TIMESTAMP인 경우 Foundry에서 결과 유형이 LONG인지 확인합니다. LONG인 경우 데이터 준비 도구(Code Repositories, 준비 또는 다른 애플리케이션)를 사용하여 TIMESTAMP로 유형을 구문 분석해야 합니다. 이는 데이터베이스 작성자가 제공하는 많은 드라이버에서 유형이 가장 안전한 표현으로 되돌아가는 부작용입니다.
  2. 열이 DECIMAL이고 원래 데이터베이스의 정밀도와 다른 경우 데이터베이스의 쿼리에서 특정 정밀도와 스케일로 숫자를 캐스팅하거나 쿼리에서 열을 VARCHAR로 캐스팅한 다음 Foundry에서 다시 캐스팅하는 것이 좋습니다.

맨 위로 돌아가기


실행 중인 쿼리의 상태

쿼리가 실행을 시작한 후 상태를 어떻게 확인합니까?

문제 해결을 위해 다음 단계를 수행하세요:

  1. 작업 추적기 애플리케이션을 열고 실행 중인 동기화를 선택합니다.
  2. 동기화의 가장 세부적인 상태가 여기에 표시됩니다.
  3. 가능한 경우 소스 데이터베이스에서 쿼리 동작을 확인합니다.

맨 위로 돌아가기


스키마 불일치로 인해 동기화 실패

파일 또는 JDBC 테이블의 스키마가 점진적 APPEND 트랜잭션 사이에 변경되면 데이터셋이 스키마 불일치로 인해 실패하게 됩니다. Data Connection은 JDBC 추출에 대한 스키마 추론을 수행하며, 파일 기반 추출에 대한 기존 스키마를 전달합니다. 이 경우 같은 스키마를 다시 적용해야 합니다. 스키마가 APPEND 트랜잭션 사이에 실제로 변경된 경우 새 스키마에 대해 새 데이터셋이 필요합니다.

문제 해결을 위해 다음 단계를 수행하세요:

파일 기반

  1. 파일이 XLSX 또는 CSV 탭 형식 데이터인 경우 동기화된 데이터셋에서 스키마를 다시 추론할 수 있습니다. 이 스키마가 이전 것과 일치하면 데이터셋에 추가된 행이 문제 없이 추가됩니다.

  2. 스키마 추론 후에도 스키마 오류가 발생하면(데이터셋 미리보기 또는 다른 애플리케이션에서), 이 새 파일은 원래 테이블의 기본적으로 다른 뷰를 나타내므로 새 데이터셋에 동기화해야 합니다.

  3. 새 스키마로 이미 데이터셋에 추가되었다면, 팔란티어 지원에 문의하여 이 트랜잭션을 되돌리는 것이 좋습니다. 또한, 현재 데이터셋의 파일 동기화를 일시 중지해야 합니다. 동기화 전체보기 페이지로 이동하여 이 동기화와 관련된 모든 일정을 일시 중지합니다.

  4. 새 스키마의 후속 파일은 원래 것과 다른 데이터셋에 동기화해야 하므로 원래 동기화의 정보를 새 동기화로 복사하되 대상 데이터셋을 다른 것으로 바꾸고(새 버전의 데이터셋 이름에 주석을 답니다).

  5. 또한, 기존 데이터를 손상시키고 발생할 수 있는 스키마 불일치 오류를 방지하기 위해 원래 동기화를 삭제하는 것이 좋습니다.

JDBC

  1. 어느 시점에 스키마가 변경되어 새 형태로 지속될 것으로 예상되는 경우 원래 테이블을 스키마 버전을 나타내는 데이터셋 이름으로 랜딩하는 것이 좋습니다(예: account_transactions_v1.0).
  2. 동기화가 실행되기 전에 원래 테이블의 스키마가 변경된 경우:
    • 동기화 일정을 일시 중지합니다(존재하는 경우)
  3. 동기화가 실행된 후 원래 테이블의 스키마가 변경된 경우:
    • 동기화 일정을 일시 중지합니다(존재하는 경우)
    • 대상 데이터셋을 손상시킬 가능성이 있는 이 트랜잭션을 되돌리도록 팔란티어 지원에 문의합니다.
  4. 동기화가 일시 중지되고 새 스키마로 이동할 준비가 되면 먼저 새 스키마를 새 데이터셋에 랜딩해야 합니다:
    • 원래 동기화를 새 동기화로 복제하고 대상 데이터셋을 새 것으로 교체합니다(예: account_transactions_v1.1). 이 새 데이터셋은 원래 데이터셋과 결합하여 전체 데이터 세트를 포함할 수 있습니다.
    • 사용 사례에 필요한 경우 원래 동기화가 정확한 동작을 확인한 후 원래 동기화를 삭제할 수 있습니다. 이렇게 하면 이전 로딩 구성에 대한 투명성이 감소하지만 기존 데이터에 손상된 데이터를 착륙시키는 가능성이 없어집니다.

맨 위로 돌아가기


Bootvisor 상태가 Unknown

Bootvisor가 Unknown 상태에 갇혀 있고 멈추지 않거나 시작되지 않습니다.

진행하기 전에 팔란티어 지원에 연락하여 설정을 확인하십시오. 아래 단계를 따르면 이 에이전트에서 동기화가 일시적으로 실행되지 않습니다. 소스에 대한 여러 에이전트를 사용하거나 유지 관리 창 동안 이 단계를 수행하여 중단 시간을 방지하십시오.

  1. 에이전트에서 동기화를 일시 중지합니다.
  2. 모든 현재 실행 중인 동기화가 완료될 때까지 기다립니다.
  3. 에이전트를 중지합니다(에이전트의 현재 상태에 따라 이 단계가 실패할 수 있습니다).
  4. 에이전트 기계에 SSH로 들어갑니다.
  5. Data Connection과 관련된 모든 JVM 프로세스를 종료합니다.
  6. ./service/bin/init.sh start로 Bootvisor를 시작합니다.
  7. Data Connection에서 에이전트를 시작하고 에이전트가 일시 중지되지 않았는지 확인합니다.

맨 위로 돌아가기