Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

데이터셋 출력의 스키마와 쓰기 모드

데이터셋 출력은 변환 결과를 Foundry의 표 데이터로 저장합니다. 출력의 스키마를 먼저 정의하면 각 열을 만들기 위한 변환을 설계할 수 있습니다.

출력 만들기

오른쪽 Pipeline outputs 패널에서 Dataset 옆의 Add를 선택합니다.

출력 이름을 입력합니다. 파이프라인을 처음 빌드하면 파이프라인과 같은 폴더에 데이터셋이 만들어집니다. 예를 들어 가상 Demo Pipeline의 Vendor 출력은 /Palantir/Pipeline Builder/Demo Pipeline/Vendor 위치에 생성됩니다.

Add column으로 열을 직접 추가하거나 변환 노드를 연결한 뒤 Use updated schema로 그 결과 스키마를 가져옵니다.

Search columns...로 열을 검색하고 Show errors only로 오류가 있는 열만 표시할 수 있습니다.

Back to all outputs로 돌아가면 각 출력의 매핑 상태가 표시됩니다.

표시 예의미
5/5 required columns입력 변환의 다섯 열이 모두 출력에 매핑됩니다.
3/3 required columns, 2 dropped입력 다섯 열 중 필요한 세 열만 출력합니다. 제외한 두 열은 오류가 아닙니다.
5/7 required columns필요한 일곱 열 중 두 열이 없습니다. 누락된 열을 입력에 매핑하기 전에는 배포할 수 없습니다.

Edit로 스키마를 수정합니다. 원본 미디어 참조 열을 포함하려면 미디어 집합을 입력으로 추가하고 표로 읽어 그 참조 열을 출력 데이터와 조인합니다. 변환 과정에서 만들어진 참조는 미디어 변환의 출력 제한을 적용합니다.

데이터 기대 조건

출력 설정에서 expectation을 추가할 수 있습니다. 빌드 중 어느 기대 조건이라도 실패하면 해당 빌드가 실패하므로, 결과가 만들어진 뒤 경고만 내는 검사와 구분합니다.

쓰기 모드

쓰기 모드는 현재 계산 결과를 이전 출력과 어떻게 결합할지 정합니다. SNAPSHOT은 결과 데이터셋의 전체 보기를 대체하고 APPEND는 새 트랜잭션의 행을 추가합니다.

Default

일반적인 배치의 스냅샷 및 증분 파이프라인에 권장됩니다. 하나 이상의 입력이 증분으로 설정되어 있고, 증분 입력들 모두가 이전 빌드 이후 APPEND 또는 기존 파일을 제거하지 않는 additive UPDATE 트랜잭션만 받았다면 결과를 APPEND로 씁니다. 그 밖의 경우에는 SNAPSHOT으로 씁니다.

Snapshot replace

이전 출력과 새 결과를 기본 키로 합친 뒤 SNAPSHOT으로 씁니다. 이전 출력에 있던 키가 현재 결과에도 있으면 새 행을 사용합니다. 현재 트랜잭션 안에 같은 키가 여러 개 있으면 하나를 임의로 남기므로 어느 값이 선택될지에 의존하지 않습니다.

Snapshot replace and remove

새 데이터와 이전 출력을 합친 뒤 Boolean post_filtering_column을 적용하여 이전 행을 제거하는 단계가 추가됩니다.

  • 현재 트랜잭션에 해당 키의 TRUE 행이 있으면 이전 행 대신 새 행을 저장합니다.
  • 해당 키의 FALSE 행이 있으면 이전 데이터에 있던 행을 제거합니다.
  • FALSE 행이 있더라도 같은 키의 새로운 TRUE 행을 저장하는 동작은 취소하지 않습니다.
  • 현재 트랜잭션에 같은 키의 TRUE 행이 여러 개 있으면 하나를 임의로 남깁니다.

결과는 SNAPSHOT 트랜잭션입니다. 삭제 조건과 새 행의 보존 조건을 함께 설계해야 합니다.

Changelog

각 레코드의 변경 이력을 APPEND 트랜잭션들로 기록합니다. Object Storage v1에서는 이러한 changelog 데이터셋을 기반 데이터 원천으로 사용하여 객체 동기화를 최적화할 수 있습니다.

Append only new rows

이전 출력에서 본 적 없는 기본 키의 행만 APPEND합니다. 이전 출력에 이미 존재하는 키의 행은 버립니다. 현재 트랜잭션 안에서 같은 새 키가 중복되면 하나를 임의로 남깁니다.

Direct changelog

현재 출력 행 자체를 변경 로그로 취급하며 changelog 메타데이터를 데이터셋에 직접 씁니다. 각 행에는 기본 키, timestamp와 삭제 여부를 나타내는 Boolean이 있어야 합니다. 변경 내용과 삭제 이벤트를 호출 측에서 직접 구성하는 방식입니다.

Object Storage v2는 제공한 timestamp 열을 중복 해소 기준으로 사용하지 않고 트랜잭션 ID를 사용합니다. timestamp 값만 바꿔 같은 키의 처리 순서를 통제할 수 있다고 가정하지 않습니다.

Snapshot only new rows

이전 출력에서 본 적 없는 기본 키의 행만 현재 결과로 남겨 SNAPSHOT을 만듭니다. 현재 트랜잭션 내부의 중복 행은 유지합니다. 이전에 존재하던 키와 그 밖의 이전 출력 행은 새 스냅샷에 포함하지 않습니다.

Always append rows

계산 결과를 항상 APPEND 트랜잭션으로 씁니다. 키를 기준으로 기존 행을 바꾸거나 중복을 제거하는 모드가 아닙니다.

파일 형식과 기존 자산 인수

데이터셋의 출력 파일 형식은 최초 배포 뒤에도 바꿀 수 있으며 다음 배포부터 적용됩니다.

Overwrite dataset은 기존 데이터셋의 소유권을 새 Pipeline Builder 출력으로 넘기는 일회성 작업입니다. Pipeline Builder 밖에서 추가 절차가 필요할 수 있으므로, 기존 파이프라인과 자산 관리 관계를 확인한 뒤 진행합니다.

설정을 저장한 뒤 배포와 빌드를 수행하면 데이터셋을 사용할 수 있습니다. 이 데이터셋을 Ontology Manager에서 객체 유형의 기반 데이터로 연결할 수도 있습니다.