Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

세션 이력과 환경의 임시 복원

세션은 Spark 모듈의 수명 동안 적용된 컴퓨팅 설정과 패키지 환경의 한 인스턴스입니다. 같은 환경을 요청했더라도 실제로 설치된 패키지가 달라질 수 있으므로 요청과 해석 결과를 나누어 봅니다.

Requested environment는 pandas=2.* 같은 요구 조건입니다. Resolved environment는 그 조건을 만족하도록 실제 선택한 패키지와 버전 집합입니다. 채널의 새 패키지에 따라 같은 요청도 다른 해석 결과를 낼 수 있습니다. 과거 python>=3.6이라는 요청이 2017년에는 3.6을, 이후에는 3.10을 선택하는 것처럼 변할 수 있으며 실제 사용할 Python은 현재 Workbook의 지원 범위에 맞춰야 합니다.

이력 열기

Environment > View session history를 선택합니다.

왼쪽에 세션 ID와 초기화 시각이 표시됩니다. 초록색은 성공, 빨간색은 실패이고 파란색은 그 밖의 상태입니다. 파란색은 보통 아직 초기화를 마치지 않아 성공이나 실패가 결정되지 않은 경우입니다.

Compute information

필드의미
moduleAssignmentInfo사용자의 대화형 작업에 배정한 모듈인지 스케줄 같은 배경 빌드용인지 나타냅니다.
moduleLaunchInfo.sparkModuleRidSpark 모듈 식별자입니다. 모듈과 세션이 1:1이므로 sessionId와 같은 고유 식별 부분을 공유합니다.
moduleLaunchInfo.profileRid초기화에 사용한 프로필의 RID입니다.
moduleLaunchInfo.isCustomEnvWorkbook의 환경 화면에서 기본 프로필을 수정한 사용자 지정 환경인지 나타냅니다.
moduleLaunchInfo.jarDependenciesControl Panel 프로필에 직접 추가한 JAR 의존성 목록입니다.
moduleLaunchInfo.moduleLaunchType미리 초기화한 모듈이면 WARM_MODULE, 새로 요청해 초기화한 모듈이면 ON_DEMAND_MODULE입니다.
moduleLaunchInfo.moduleResources드라이버 및 실행기 메모리, 실행기 수 등 컴퓨팅 자원입니다.

Requested environment

항목의미
Initialization Modesolve, file 또는 docker입니다. 일반 해석, spec file 또는 Docker 기반 초기화 경로를 나타냅니다.
Environment repository환경을 저장하는 키입니다. 기본 프로필은 profileRid, 사용자 지정 환경은 수정한 Workbook의 workbookRid를 사용합니다.
Requested packages프로필에 직접 요청한 패키지와 Workbook 동작에 필요한 자동 요청 패키지를 모두 포함합니다.
Backing repositories패키지를 가져오는 채널 목록입니다.

Resolved environment

초기화에 걸린 시간과 실제 설치한 패키지 및 버전을 보여 줍니다. 이전 환경을 재현할 때는 요청 문자열이 아니라 이 결과가 필요합니다.

두 세션 비교

오른쪽 위 Compare sessions를 선택합니다. 오른쪽은 현재 세션이고 왼쪽은 목록에서 고른 과거 세션입니다. 세 탭 모두에서 차이를 볼 수 있습니다. Exit comparison으로 나가면 왼쪽에서 선택했던 세션은 유지됩니다.

컴퓨팅 탭에서는 프로필 변경, 사용자 지정 여부와 메모리 감소 같은 차이를 확인합니다.

Requested environment는 사용자가 바꾼 패키지 요구를 확인할 때 유용합니다.

Resolved environment는 실제 설치 버전의 차이를 보여 줍니다.

Session pin

과거 성공 세션을 선택하고 오른쪽 아래 Pin session을 누르면 그 세션의 해석된 패키지와 메타데이터로 새 Spark 모듈을 초기화합니다. 이미 종료한 모듈의 메모리 상태를 되살리는 작업은 아닙니다.

Pin은 현재 Workbook 브랜치의 대화형 환경 초기화에 최대 24시간 적용됩니다. 배너에 남은 시간과 해제 옵션이 표시됩니다. 적용 기간의 이후 대화형 초기화는 고정한 세션 정보를 사용하며, 만료되거나 직접 해제하면 Workbook에 현재 구성된 환경으로 돌아갑니다.

제한

  • Pin은 문제 조사용 임시 기능입니다. 스케줄 등 Workbook UI 밖의 batch build에는 적용하지 않습니다.
  • 최대 24시간 뒤 다시 고정할 수 있지만, 다시 pin하면 새 모듈을 만들고 기존 모듈의 모든 로컬 상태를 잃습니다.
  • 성공한 세션만 선택할 수 있습니다. 실패했거나 초기화 중인 세션은 사용할 수 없습니다.
  • 버전 비호환, 차단한 패키지 버전이나 API 변경 등의 이유로 성공했던 세션도 pin이 거부될 수 있습니다. 해당 경우 빨간 배너가 표시됩니다.
  • Artifacts 프로필을 사용한 세션만 pin할 수 있습니다.
  • 초기화 모드 등 일부 메타데이터는 과거 값과 다를 수 있습니다.

영구적인 운영 해법은 프로필의 의존성과 자원 설정을 바꾸는 것입니다. Pin의 대화형 성공만으로 스케줄 빌드의 환경도 바뀌었다고 판단하지 않습니다.

이전에는 성공했던 환경의 실패 조사

  1. 이전 성공 이력이 없다면 환경 문제 해결에서 일반 초기화 실패부터 조사합니다.
  2. 성공 세션과 현재 실패 세션을 비교합니다. 자원이 줄었다면 초기화 메모리를, 요청이 바뀌었다면 직접 추가한 제약을 확인합니다.
  3. 요청은 같고 해석 결과만 다르면 새로 선택된 패키지 버전의 호환성이나 변경을 조사합니다. 실제 차이를 확인한 뒤 해당 버전을 피하거나 조건을 조정합니다.
  4. 필요하면 성공 세션을 잠시 pin하여 작업을 이어가되, 조사 후 프로필의 설정을 수정하여 해결합니다.

눈에 보이는 차이가 없거나 조정으로 해결되지 않으면 오류 로그와 수행한 조사를 정리하여 Palantir 지원팀에 요청합니다.