기본 현재 작업 디렉터리가란?
이 문서에서는 Notebook 및 파일 실행에 대해 기본 CWD(현재 작업 디렉터리)가 작동하는 방식을 설명합니다.
참고 항목
Databricks Runtime 14.0 이상 및 기본 작업 영역 구성을 사용하여 작업 영역 전체에서 CWD(일관성) 동작을 더 많이 수행합니다.
Notebook 및 파일에서 로컬로 실행되는 코드에 대한 두 가지 기본 CWD 동작이 있습니다.
- CWD는 실행 중인 Notebook 또는 스크립트가 포함된 디렉터리를 반환합니다.
- CWD는 드라이버에 연결된 임시 스토리지 볼륨을 나타내는 디렉터리를 반환합니다.
이 CWD 동작은 Apache Spark를 사용하지 않는 Python 또는 R 코드를 비롯한 %sh
모든 코드에 영향을 줍니다. 동작은 코드 언어, Databricks 런타임 버전, 작업 영역 경로 및 작업 영역 관리자 구성에 따라 결정됩니다.
Scala 코드의 경우 CWD는 드라이버에 연결된 임시 스토리지입니다.
다른 모든 언어의 코드:
- Databricks Runtime 14.0 이상에서 CWD는 실행 중인 Notebook 또는 스크립트를 포함하는 디렉터리입니다. 코드가 에 있는지 여부에 관계없이 마찬가지입니다
/Workspace/Repos
. - Databricks Runtime 13.3 LTS 이하를 실행하는 Notebook의 경우 CWD는 코드가 다음 위치에
/Workspace/Repos
있는지 여부에 따라 달라집니다. - 외부 경로에서 실행되는 코드의
/Workspace/Repos
경우 CWD는 드라이버에 연결된 임시 스토리지 볼륨입니다. - 경로에서
/Workspace/Repos
실행되는 코드의 경우 CWD는 관리자 구성 설정 및 클러스터 DBR 버전에 따라 달라집니다.- DBR 버전 8.4 이상으로 설정되거나
true
설정된dbr8.4+
작업 영역enableWorkspaceFilesystem
의 경우 CWD는 실행 중인 Notebook 또는 스크립트가 포함된 디렉터리입니다. 8.4 미만의 DBR 버전에서는 드라이버에 연결된 임시 스토리지 볼륨입니다. - DBR 버전 11.0 이상으로 설정된
dbr11.0+
작업 영역enableWorkspaceFilesystem
의 경우 CWD는 실행 중인 Notebook 또는 스크립트를 포함하는 디렉터리입니다. 11.0 미만의 DBR 버전에서는 드라이버에 연결된 임시 스토리지 볼륨입니다. - 설정된
false
작업 영역enableWorkspaceFilesystem
의 경우 CWD는 드라이버에 연결된 임시 스토리지 볼륨입니다.
- DBR 버전 8.4 이상으로 설정되거나
워크로드에 어떤 영향을 주나요?
워크로드에 가장 큰 영향은 파일 지원 및 위치와 관련이 있습니다.
- Databricks Runtime 13.3 LTS 이하에서 외부 경로에서 실행되는 코드의
/Workspace/Repos
경우 많은 코드 조각은 클러스터가 종료될 때 영구적으로 삭제되는 임시 스토리지 볼륨의 기본 위치에 데이터를 저장합니다. - Databricks Runtime 14.0 이상에서 이러한 작업의 기본 동작은 명시적으로 삭제될 때까지 지속되는 실행 중인 Notebook과 함께 저장된 작업 영역 파일을 만듭니다.
작업 영역 파일에 내재된 성능 차이 및 기타 제한 사항에 대한 자세한 내용은 작업 영역 파일 작업을 참조하세요.
레거시 동작으로 되돌리기
Python 메서드 os.chdir()
를 사용하여 모든 Notebook의 현재 작업 디렉터리를 변경할 수 있습니다. 각 Notebook이 드라이버에 연결된 임시 스토리지 볼륨에서 CWD를 사용하는지 확인하려면 각 Notebook의 첫 번째 셀에 다음 명령을 추가하고 다른 코드보다 먼저 실행할 수 있습니다.
import os
os.chdir("/tmp")
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기