볼륨 및 작업 영역 파일의 파일에 대한 권장 사항
Azure Databricks에 데이터 또는 파일을 업로드하거나 저장할 때 Unity 카탈로그 볼륨 또는 작업 영역 파일을 사용하여 파일을 저장하도록 선택할 수 있습니다. 이 문서에는 이러한 위치를 사용하기 위한 권장 사항 및 요구 사항이 포함되어 있습니다. 볼륨 및 작업 영역 파일에 대한 자세한 내용은 Unity 카탈로그 볼륨이란? 및 작업 영역 파일이란?을 참조하세요.
Databricks는 Unity 카탈로그 볼륨을 사용하여 데이터, 라이브러리 및 빌드 아티팩트 저장을 권장합니다. Notebook, SQL 쿼리 및 코드 파일을 작업 영역 파일로 저장하세요 원격 Git 리포지토리와 동기화하도록 작업 영역 파일 디렉터리를 Git 폴더로 구성할 수 있습니다. Databricks Git 폴더에 대한 Git 통합을 참조하세요. 테스트 시나리오에 사용되는 작은 데이터 파일도 작업 영역 파일로 저장할 수 있습니다.
아래 표에서는 파일 또는 기능 요구 사항 유형에 따라 파일에 대한 특정 권장 사항을 제공합니다.
Important
DBFS(Databricks 파일 시스템)도 파일 스토리지에 사용할 수 있지만 모든 작업 영역 사용자가 DBFS의 파일에 액세스할 수 있으므로 권장되지 않습니다. DBFS를 참조하세요.
파일 형식
다음 표에서는 파일 형식별 스토리지 권장 사항을 제공합니다. Databricks는 이 표에 제공된 예제 이외에도 더 많은 파일 형식을 지원합니다.
파일 형식 | 추천 |
---|---|
Notebook 및 쿼리와 같은 Databricks 개체 | 작업 영역 파일로 저장 |
Parquet 파일 및 ORC 파일과 같은 구조적 데이터 파일 | Unity 카탈로그 볼륨에 저장 |
텍스트 파일(.csv , .txt ) 및 JSON 파일(.json )과 같은 반구조화된 데이터 파일 |
Unity 카탈로그 볼륨에 저장 |
이미지 파일(.png , .svg ) 오디오 파일(.mp3 ) 및 문서 파일(.pdf , .docx )과 같은 구조화되지 않은 데이터 파일 |
Unity 카탈로그 볼륨에 저장 |
임시 또는 초기 데이터 탐색에 사용되는 원시 데이터 파일 | Unity 카탈로그 볼륨에 저장 |
로그 파일과 같은 작동 데이터 | Unity 카탈로그 볼륨에 저장 |
ZIP 파일(.zip )과 같은 대용량 보관 파일 |
Unity 카탈로그 볼륨에 저장 |
Python 파일(.py ), Java 파일(.java ) 및 Scala 파일(.scala )과 같은 소스 코드 파일 |
해당되는 경우 Noteboook 및 쿼리와 같은 다른 관련 개체와 함께 작업 영역 파일으로 저장합니다. Databricks는 이러한 파일의 버전 제어 및 변경 내용 추적을 위해 Git 폴더 에서 이러한 파일을 관리하는 것을 권장합니다. |
Python 휠(.whl ) 및 JAR 파일(.jar )과 같은 빌드 아티팩트 및 라이브러리 |
Unity 카탈로그 볼륨에 저장 |
구성 파일 | 구성 파일은 여러 작업 영역에 필요한 경우 Unity 카탈로그 볼륨에 저장하되, Git 폴더의 프로젝트 파일인 경우에는 작업 영역 파일로 저장합니다. |
기능 비교
다음 테이블에서는 작업 영역 파일과 Unity 카탈로그 볼륨의 기능 제공 사항을 비교합니다.
기능 | 작업 영역 파일 | Unity 카탈로그 볼륨 |
---|---|---|
파일 액세스 | 작업 영역 파일은 동일한 작업 영역 내에서만 서로 액세스할 수 있습니다. | 파일은 작업 영역 전역에서 액세스할 수 있습니다. |
프로그래밍 액세스 | 다음을 사용하여 파일에 액세스할 수 있습니다. - Spark API - FUSE - dbutils - REST API - Databricks SDK - Databricks CLI |
다음을 사용하여 파일에 액세스할 수 있습니다. - Spark API - FUSE - dbutils - REST API - Databricks SDK - DataBricks SQL 커넥터 - Databricks CLI - Databricks Terraform 공급자 |
Databricks 자산 번들 | 기본적으로 라이브러리 및 Databricks 개체(예: Notebook 및 쿼리)를 포함하는 번들의 모든 파일은 작업 영역 파일로 안전하게 배포됩니다. 권한은 번들 구성에서 정의됩니다. | 라이브러리가 작업 영역 파일의 크기 제한을 초과하는 경우, 볼륨 내 이미 존재하는 라이브러리를 포함하도록 번들을 사용자 지정할 수 있습니다. Databricks 자산 번들 라이브러리 종속성을 참조하세요. |
파일 권한 수준 | 파일이 Git 폴더에 있으면 권한이 Git 폴더 수준에서 설정되고, 그렇지 않으면 파일 수준에서 권한이 설정됩니다. | 권한은 볼륨 수준에서 설정됩니다. |
권한 관리 | 권한은 작업 영역 ACL 에서 관리되며, 해당 작업 영역 내에서만 유효합니다. | 메타데이터 및 권한은 Unity 카탈로그에서 관리됩니다. 해당 권한은 카탈로그에 액세스할 수 있는 모든 작업 영역에 적용됩니다. |
외부 스토리지 탑재 | 외부 스토리지 탑재를 지원하지 않습니다 | 외부 볼륨을 만들어 외부 스토리지의 기존 데이터 세트를 가리키는 옵션을 제공합니다. Unity 카탈로그 볼륨이란?을 참조하세요. |
UDF 지원 | 지원되지 않음 | 볼륨 FUSE를 사용하여 UDF에서 쓰기 지원 |
파일 크기 | Notebook과 함께 필요한 소스 코드 파일(.py , .md , .yml )과 같이 500MB 미만의 작은 파일 저장이 가능합니다. |
클라우드 서비스 공급자가 결정한 한도 내에서 매우 큰 데이터 파일을 저장할 수 있습니다. |
업로드 및 다운로드 | 최대 10MB까지 업로드 및 다운로드가 지원됩니다. | 최대 5GB까지 업로드 및 다운로드가 지원됩니다. |
테이블 생성 지원 | 작업 영역 파일을 위치로 사용하여 테이블을 만들 수 없습니다. | COPY INTO , Autoloader를 실행하거나 Databricks Lakehouse의 데이터 수집에 설명된 기타 옵션을 실행하여 볼륨의 파일에서 테이블을 만들 수 있습니다. |
디렉터리 구조 및 파일 경로 | 파일은 각각 고유한 권한 모델을 가진 중첩된 디렉터리로 구성됩니다. - 사용자 홈 디렉터리 (작업 영역 내 각 사용자 및 서비스 주체에 대한 디렉터리) - Git 폴더 - 공유 |
파일은 볼륨 내 중첩된 디렉터리로 구성됩니다. Unity 카탈로그의 데이터에 액세스하려면 어떻게 해야 하나요?를 참조하세요. |
파일 기록 | 작업 영역 내에서 Git 폴더를 사용하여 파일 변경 내용을 추적합니다. | 감사 로그를 사용할 수 있습니다. |