Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

데이터셋 View API

View는 자체 데이터 파일을 보관하지 않고 기반 데이터셋을 참조합니다. 읽을 때 기반 데이터셋들의 합집합으로 내용을 구성합니다. 행을 다루므로 기반 데이터셋에는 스키마가 있어야 합니다. 변환의 입력에는 사용할 수 있지만 출력으로 지정할 수는 없습니다.

기본 키와 중복 해결 규칙을 추가하면 중복 데이터를 처리할 수 있습니다. 기반 데이터셋에 새 데이터가 생기면 최신 중복 제거 결과를 제공하도록 빌드가 자동 실행됩니다. 빌드 과정 자체에서는 데이터를 읽거나 쓰지 않으므로 일반적으로 매우 빠르게 완료됩니다.

작업

작업기능
Create View새 뷰를 만듭니다.
Get View뷰 메타데이터를 조회합니다.
Add Backing Datasets기반 데이터셋을 추가합니다.
Replace Backing Datasets기반 데이터셋 목록을 교체합니다.
Remove Backing Datasets지정한 기반 데이터셋을 제거합니다.
Add Primary Key아직 기본 키가 없는 뷰에 기본 키를 추가합니다.

View 응답

필드자료형필수 여부의미
viewNamestring필수뷰의 표시 이름
datasetRidstring필수뷰 자체의 RID
parentFolderRidstring필수상위 폴더 RID
branchstring선택뷰의 브랜치. 미지정 기본값은 대부분의 플랫폼 인스턴스에서 master
backingDatasetslist<ViewBackingDataset>선택기반 데이터셋 목록
primaryKeyobject선택기본 키와 중복 해결 계약

뷰 자체의 datasetRid와 backingDatasets[].datasetRid는 각각 뷰와 입력 데이터셋을 가리킵니다.

ViewBackingDataset

필드자료형필수 여부의미와 조건
datasetRidstring필수기반 데이터셋 RID
branchstring선택기반 데이터셋의 브랜치. 생략하면 뷰의 브랜치를 사용
stopPropagatingMarkingIdslist<MarkingId>선택이 입력에서 상속하지 않을 보안 표지 ID 목록

stopPropagatingMarkingIds를 지정하는 호출자는 나열한 각 보안 표지에 대한 DECLASSIFY 권한이 있어야 합니다. 같은 보안 표지가 여러 기반 데이터셋에 붙어 있으면 각 입력의 목록에 모두 지정해야 합니다. 하나라도 남아 있으면 그 입력으로부터 표지를 상속합니다.

기반 데이터셋이 뷰와 같은 프로젝트에 없으면 뷰 프로젝트의 리소스 참조로 추가하거나 같은 프로젝트로 옮겨야 합니다. 리소스 참조 추가에는 Filesystem API를 사용할 수 있습니다.

기본 키 열

primaryKey는 생성자가 데이터에 대해 보장하는 계약입니다.

필드자료형필수 여부의미
columnslist<string>선택 필드, 기본 키에는 비어 있지 않은 목록 필요기본 키를 구성하는 열
resolutiontagged union필수unique 또는 duplicate

기본 키 열 목록에는 다음 제약이 있습니다.

  • 하나 이상의 열을 지정해야 합니다.
  • 열 이름 정규화를 적용한 뒤 중복 열이 없어야 합니다.
  • 모든 열이 스키마에 존재해야 합니다.
  • 열 유형은 BYTE, SHORT, DECIMAL, INTEGER, LONG, STRING, BOOLEAN, TIMESTAMP, DATE 중 하나여야 합니다.

기반 데이터셋이 없는 뷰에는 기본 키를 추가할 수 없습니다. 이미 있는 기본 키는 Add Primary Key로 변경할 수 없습니다.

중복 해결 방식

unique

각 행의 기본 키가 고유하다고 작성자가 보장합니다.

{"type": "unique"}

쓰기 작업이 이 불변 조건을 유지해야 하며 읽기 작업은 그 보장에 따라 최적화할 수 있습니다. unique로 선언하고 중복 키를 넣는 등 계약을 위반하면 동작이 정의되어 있지 않습니다.

duplicate

중복 키가 있을 수 있으므로 어떤 행을 선택할지 지정합니다.

필드자료형필수 여부의미
typestring필수duplicate
deletionColumnstring선택최종 선택 행을 삭제한 것으로 볼지 표시하는 boolean 열
resolutionStrategytagged union필수latestWins 전략

latestWins는 columns에 지정한 열을 차례로 비교하여 가장 높은 값을 가진 행을 선택합니다. columns는 선택적인 문자열 목록 필드입니다. 열 이름이 시각을 뜻한다고 가정하지 말고 비교할 열을 명시합니다.

선택한 최종 행의 deletionColumn 값이 true이면 결과에서 제외하고, 그렇지 않으면 포함합니다. 삭제 표시 열은 실제 데이터셋에 존재하는 boolean 열이어야 합니다.

다음은 colA를 기본 키로 사용하고 colB, colC 순서로 행을 선택하는 가상 설정입니다.

{
  "columns": ["colA"],
  "resolution": {
    "type": "duplicate",
    "deletionColumn": "deletionCol",
    "resolutionStrategy": {
      "type": "latestWins",
      "columns": ["colB", "colC"]
    }
  }
}