Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

View의 결합과 중복 제거

View는 자체 데이터 파일을 보유하지 않고, 읽는 시점에 기반 데이터셋(Backing dataset)들을 합집합으로 결합하는 리소스입니다. 일반 데이터셋의 뷰와 비슷하게 읽을 수 있지만, 데이터가 저장된 파일은 기반 데이터셋에 있습니다.

기본 키를 설정하면 중복 행을 자동으로 정리할 수 있습니다. 기반 데이터가 갱신되면 View 빌드가 자동으로 트리거됩니다. View 빌드는 실제 데이터를 읽거나 쓰지 않으므로 보통 거의 즉시 완료됩니다. 중복 제거에 사용되는 프로젝션의 재빌드 비용은 별도로 고려해야 합니다.

사용 가능한 범위

View는 변환 입력으로 사용할 수 있지만 변환 출력으로 지정할 수 없습니다. 행을 대상으로 동작하므로 모든 기반 데이터셋에 스키마가 있어야 합니다.

주요 용도는 여러 데이터셋을 별도 변환 없이 최신 합집합으로 제공하는 것, 추가 데이터 복사 없이 다른 폴더에 데이터 접근 경로를 만드는 것, 기본 키 기준의 유일성을 확보하는 것입니다.

증분 데이터셋 위에 만든 View를 하위 변환의 증분 입력으로 사용하지 않습니다. 증분 읽기에서는 읽은 트랜잭션 범위 안에서만 중복을 제거하며, View 전체에 걸친 중복 제거를 보장하지 않습니다.

생성과 기반 데이터 선택

  1. 왼쪽 작업 공간 탐색에서 Files를 열고 원하는 프로젝트나 폴더로 이동합니다.
  2. 오른쪽 위의 New에서 View를 선택합니다.
  3. 이름과 위치를 지정하고 기반 데이터셋을 하나 이상 선택합니다.

모든 기반 데이터셋은 같은 열 이름과 자료형 집합을 가져야 합니다. 열 순서는 달라도 됩니다. 생성 후에는 Details의 Dataset view settings에서 기반 데이터셋을 변경합니다.

View를 만들면 기반 데이터셋 갱신 때마다 재빌드하는 스케줄이 자동으로 생성됩니다. 생성하거나 수정한 직후에 바로 읽으려면 View를 수동으로 빌드해야 합니다.

기반 데이터셋의 열을 추가하거나 제거하면 View:MismatchedNumberOfColumns 오류가 발생할 수 있습니다. Details의 Dataset view settings에서 Schema evolution을 활성화하면 새 View를 만들지 않고 기반 스키마 변경에 적응하도록 설정할 수 있습니다.

기본 키와 중복 해소

기본 키(Primary key)는 하나 이상의 열을 조합해 지정합니다. 선택한 열에는 null이 없어야 합니다. 중복 해소 규칙을 사용하면 View 전체에서 각 기본 키가 하나의 행으로 나타나도록 중복을 제거합니다.

처음에 기본 키를 지정하지 않았으면 나중에 Dataset view settings에서 추가할 수 있습니다. 한 번 지정한 기본 키를 바꾸려면 새 View를 만들어야 합니다.

중복을 허용하는 duplicate 모드에서는 어느 행을 남길지 정합니다. latestWins 전략은 하나 이상의 해소 열을 순서대로 비교하고 값이 가장 큰 행을 남깁니다. 따라서 최신 데이터가 남도록 하려면 해당 열의 값이 실제 변경 순서를 나타내야 합니다.

API에서 unique 모드를 선언하면 쓰기 측이 각 행의 기본 키가 고유하다고 보장하며, 읽기 측은 그 보장을 바탕으로 최적화할 수 있습니다. 이 모드에 중복 키를 넣으면 동작이 정의되어 있지 않습니다. 두 모드의 필드와 제약은 View API에서 확인합니다.

삭제 열

선택적으로 Boolean 삭제 열을 지정할 수 있습니다. 먼저 중복을 해소한 뒤, 마지막으로 남은 행의 삭제 열이 true이면 해당 키의 행을 View에서 제외합니다. 오래된 행의 삭제 표시가 아니라 최종 선택한 행의 삭제 표시가 적용됩니다.

중복 제거와 삭제는 각 기반 데이터셋별로 독립 적용하는 것이 아니라 모든 기반 데이터셋을 합친 범위에 적용합니다.

프로젝션과 읽기 비용

중복 제거와 삭제는 View에 자동 구성된 프로젝션(Projection)과 읽을 때마다 평가하는 윈도 함수 필터를 함께 사용합니다. 프로젝션이 최신이고, 마지막 프로젝션 빌드 이후 기반 데이터셋에 APPEND 또는 UPDATE 트랜잭션만 있었다면 읽기 필터의 추가 시간과 연산 비용은 작습니다.

중복 해소를 사용하는 View는 다음 상황에 권장됩니다.

  • 모든 기반 데이터셋이 APPEND 또는 새 데이터를 추가하기만 하는 UPDATE로 갱신됩니다.
  • 일부는 이러한 추가 방식으로 갱신되고, SNAPSHOT으로 갱신되는 나머지 데이터셋은 빌드 빈도가 낮습니다.

기반 데이터 갱신으로 프로젝션을 전부 다시 빌드해야 하면 상당한 연산 비용이 발생할 수 있습니다. 재빌드가 끝나기 전에는 Contour나 변환 작업 등 읽는 측이 프로젝션의 도움 없이 필터를 적용해야 하기 때문입니다.

보안 표지 전파 중단

View에서 기반 데이터셋의 강제 접근 제어 보안 표지(Marking)가 더 이상 전파되지 않도록 구성할 수 있습니다. 이 기능으로 조직(Organization) 제한을 제거할 수는 없습니다. 플랫폼 인스턴스에서 기능이 활성화되어 있지 않으면 Palantir 지원에 활성화를 요청해야 합니다.

Details의 Dataset view settings에서 Edit를 선택한 뒤 Manage marking propagation을 엽니다.

해당 보안 표지의 Remove Marking 권한이 있는 사용자만 전파를 중단할 수 있습니다. 변경은 기반 데이터셋이 갱신될 때 적용됩니다. 보안 표지 제거는 접근 범위를 바꾸는 작업이므로 데이터의 취급 정책에 맞게 수행합니다.