Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Contour의 연산 사용량

Contour 보드는 데이터를 보여 주기 위해 백엔드에 쿼리를 보냅니다. 쿼리는 자동 확장 Spark 클러스터에서 실행되며, 연산 사용량은 compute-seconds로 측정합니다. 입력 데이터의 규모와 파일 구성, 연산의 종류와 복잡도가 사용량에 영향을 줍니다.

대화형과 배치 실행

대화형 쿼리는 사용자 요청에 빠르게 응답하도록 준비된 실행 환경을 사용합니다. 실행 중인 쿼리가 실제로 사용한 연산량을 집계하고, 상시 준비 자원을 반영한 대화형 요율을 적용합니다. 사용하는 코어 수는 쿼리가 배정된 Spark 애플리케이션에서 차지한 몫을 기준으로 계산합니다.

다음 작업은 대화형 연산을 발생시킬 수 있습니다.

  • 새 보드 생성
  • 보드 수정
  • 경로 위의 Update data 실행

보드를 만들거나 바꾸면 하위 보드의 입력도 달라져 연쇄 재계산이 발생할 수 있습니다.

경로 결과를 데이터셋으로 저장하면 생성된 코드가 데이터셋 실행 작업 명세에 들어갑니다. 이후 일정 또는 수동 빌드는 배치 실행으로 측정합니다. Code Repositories나 Code Workbook의 데이터셋 빌드와 같은 일반 병렬 배치 요율을 사용하며 대화형의 상시 준비 오버헤드를 적용하지 않습니다.

요율과 계산식

interactive_contour_usage_rate의 기본값은 15입니다. 기업 계약이 있다면 실제 사용량을 계산하기 전에 Palantir 담당자에게 적용 요율과 계약 조건을 확인합니다.

요율을 적용하기 전의 드라이버와 실행기 연산량을 사용하면 총량은 다음과 같습니다.

total_compute_seconds = contour_usage_rate
    * (raw_driver_compute_seconds + raw_executor_compute_seconds)

비용 기반 라우팅은 데이터 규모와 쿼리 유형에 맞추어 백엔드 드라이버와 실행기 크기를 조정합니다. 다음은 계산법을 설명하는 가상 실행 조건입니다.

항목값
드라이버vCPU 2개, RAM 11GiB
실행기 한 대vCPU 2개, RAM 12GiB
실행기 수3대
쿼리 시간3초
대화형 요율15

CPU와 메모리 중 큰 자원 환산값에 실행 시간을 곱합니다. 이 예시의 메모리 환산 기준은 7.5GiB입니다.

raw_driver_compute_seconds = max(2, 11 / 7.5) * 3 = 6
raw_executor_compute_seconds = max(2, 12 / 7.5) * 3 * 3 = 18

driver_interactive_usage = 15 * 6 = 90
executor_interactive_usage = 15 * 18 = 270

total_compute_seconds = 15 * (6 + 18) = 90 + 270 = 360

요율은 각 자원 사용량에 한 번만 적용합니다.

사용량 확인 위치

대화형 사용량은 해당 분석 리소스에 귀속됩니다. 개별 보드의 메뉴에서 View jobs를 선택하면 Builds 애플리케이션에서 Spark 지표를 볼 수 있습니다.

배치 사용량은 결과 데이터셋에 귀속됩니다. 대화형과 배치 전체 사용량은 Resource Management에서 확인합니다.

계산량에 영향을 주는 구성

경로의 보드 수가 많으면 수행할 연산도 늘 수 있지만 연산 수만으로 사용량을 판단하지 않습니다. 비용이 큰 연산 앞에 필터를 추가하면 연산 하나가 늘어도 전체 계산량이 줄어들 수 있습니다.

사용자 수가 늘면 쿼리도 늘 수 있습니다. Contour는 중간 계산 체크포인트와 결과 캐시로 반복 계산을 줄입니다.

  • 백엔드가 자동 관리하는 중간 계산 체크포인트는 긴 경로의 뒤쪽 결과를 빠르게 계산하도록 돕습니다. 계산량을 줄여도 후속 연산이 모두 없어지는 것은 아닙니다.
  • 같은 데이터에 대한 같은 쿼리의 유효한 캐시를 재사용할 수 있습니다. 예를 들어 두 사용자가 같은 분석을 차례로 조회하면 앞서 계산한 결과를 다시 사용할 수 있습니다.
  • 입력 데이터나 매개변수가 바뀌면 기존 조합의 캐시는 사용할 수 없습니다. 이후 같은 입력과 매개변수 조합을 다시 계산할 때는 그 조합의 캐시를 사용할 수 있습니다.

여기서 중간 계산 체크포인트는 내보내기 전 사유를 묻는 보안 기능과 다른 기능입니다. 구조와 입력을 조정하는 방법은 성능 개선을 참고합니다.