볼륨에서 파일 관리
이 문서에서는 다양한 사용자 인터페이스, 도구, 라이브러리 및 언어를 위한 Unity 카탈로그의 볼륨에서 파일을 관리하는 예제를 제공합니다.
Databricks는 클라우드 개체 스토리지에서 테이블 형식이 아닌 데이터에 대한 모든 액세스를 관리하기 위해 볼륨을 사용하는 것이 좋습니다. 테이블 형식이 아닌 데이터의 예는 다음과 같습니다.
- CSV, JSON 및 Parquet과 같은 수집을 위한 데이터 파일입니다.
- 데이터 과학, ML 및 AI 워크로드를 위한 텍스트, 이미지 및 오디오 파일입니다.
- 외부 시스템과 통합하기 위해 Azure Databricks에서 작성한 CSV 또는 JSON 아티팩트입니다.
볼륨을 사용하여 라이브러리, 초기화 스크립트 및 빌드 아티팩트와 같은 파일을 저장할 수 있습니다. 볼륨 및 작업 영역 파일파일에 대한
카탈로그 탐색기 UI를 사용하여 볼륨 내 파일을 작업하기
카탈로그 탐색기는 Unity 카탈로그 볼륨과 함께 저장된 파일에 대한 일반적인 파일 관리 작업에 대한 옵션을 제공합니다.
볼륨의 파일과 상호 작용하려면 다음을 수행합니다.
- Azure Databricks 작업 영역에서
카탈로그을 클릭합니다.
- 작업하려는 볼륨을 검색하거나 찾아서 선택하세요.
볼륨을 만들고 관리하는 방법에 대한 자세한 내용은 볼륨 만들기 및 관리참조하세요.
볼륨에 파일 업로드
이 볼륨에 업로드 단추는 파일을 업로드하는 대화 상자를 엽니다. Unity 카탈로그 볼륨에 파일 업로드를 참조하세요 .
업로드된 파일은 5GB를 초과할 수 없습니다.
볼륨에서 파일 다운로드
볼륨에서 파일을 다운로드하려면 다음을 수행합니다.
- 하나 이상의 파일을 선택합니다.
- 다운로드를 클릭하여 이러한 파일을 다운로드합니다.
한 번에 10 파일만 다운로드할 수 있습니다.
볼륨에서 파일 삭제
볼륨에서 파일을 삭제하려면 다음을 수행합니다.
- 하나 이상의 파일을 선택합니다.
- 삭제를 클릭합니다.
- 삭제를 클릭하여 표시되는 대화 상자에서 확인합니다.
빈 디렉터리 만들기
볼륨에 새 디렉터리를 만들려면 다음을 수행합니다.
-
볼륨 이름의 오른쪽을 클릭합니다.
- 디렉터리 만들기 선택합니다.
- 디렉터리 이름을 입력합니다.
- 만들기를 클릭합니다.
볼륨에서 디렉터리 삭제
볼륨에서 디렉터리를 삭제하려면 다음을 수행합니다.
- 하나 이상의 디렉터리를 선택합니다.
- 삭제를 클릭합니다.
- 삭제를 클릭하여 표시되는 대화 상자에서 확인합니다.
볼륨에 대한 UI 파일 관리 작업
파일 이름 옆에 있는 케밥 메뉴를 클릭하여 다음 작업을 수행합니다.
- 경로 복사
- 파일 다운로드
- 파일 삭제
- 테이블 만들기
볼륨의 데이터에서 테이블 만들기
Azure Databricks는 Unity 카탈로그 볼륨에 저장된 파일, 여러 파일 또는 파일 디렉터리에서 Unity 카탈로그 관리 테이블을 만드는 UI를 제공합니다.
대상 스키마에 CREATE TABLE
권한이 있어야 하며 실행 중인 SQL 웨어하우스에 액세스할 수 있어야 합니다.
하나 이상의 파일 또는 디렉터리를 선택합니다. 파일에는 동일한 데이터 레이아웃이 있어야 합니다.
테이블 만들기를 클릭합니다. 볼륨에서 테이블 만들기 대화 상자가 나타납니다.
제공된 대화 상자를 사용하여 데이터의 미리 보기를 검토하고 다음 구성을 완료합니다.
- 새 테이블 만들기
선택하거나 기존 테이블 덮어쓰기를 선택합니다. - 대상 카탈로그 및 스키마를 선택하십시오.
- 테이블 이름지정하세요.
- (선택 사항) 기본 열 이름 및 형식을 재정의하거나 열을 제외하도록 선택합니다.
참고 항목
고급 특성을 클릭하여 추가 옵션을 봅니다.
- 새 테이블 만들기
테이블 만들기을 클릭하여 지정된 속성으로 테이블을 만듭니다. 완료되면 카탈로그 탐색기에 테이블 세부 정보가 표시됩니다.
Azure Databricks의 볼륨에 있는 파일로 프로그래밍 방식으로 작업
다음 형식을 사용하여 지원되는 모든 언어 및 작업 영역 편집기에서 볼륨으로 파일을 읽고 쓸 수 있습니다.
/Volumes/catalog_name/schema_name/volume_name/path/to/files
모든 클라우드 개체 스토리지 위치의 파일과 상호 작용하는 것과 동일한 방식으로 볼륨의 파일과 상호 작용합니다. 즉, 현재 클라우드 URI, DBFS 탑재 경로 또는 DBFS 루트 경로를 사용하여 데이터 또는 파일과 상호 작용하는 코드를 관리하는 경우 대신 볼륨을 사용하도록 코드를 업데이트할 수 있습니다.
참고 항목
볼륨은 테이블 형식이 아닌 데이터에만 사용됩니다. Databricks는 Unity 카탈로그 테이블을 사용하여 테이블 형식 데이터를 등록한 다음 테이블 이름을 사용하여 데이터를 읽고 쓰는 것이 좋습니다.
볼륨에서 데이터 읽기 및 쓰기
Apache Spark, pandas, Spark SQL 및 기타 OSS 라이브러리를 사용하여 볼륨에서 데이터 파일을 읽고 쓸 수 있습니다.
다음 예제에서는 볼륨에 저장된 CSV 파일을 읽는 방법을 보여 줍니다.
Python
df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")
display(df)
Pandas
import pandas as pd
df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')
display(df)
SQL
SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`
볼륨의 파일에 대한 유틸리티 명령
Databricks는 볼륨에서 파일을 관리하기 위한 다음 도구를 제공합니다.
-
dbutils.fs
Databricks 유틸리티의 하위 코드입니다. 파일 시스템 유틸리티(dbutils.fs)를 참조하세요. -
%fs
에 대한dbutils.fs
별칭인 마법입니다. - 볼륨에 대한 bash 명령을 허용하는
%sh
매직입니다.
이러한 도구를 사용하여 인터넷에서 파일을 다운로드하고, 파일의 압축을 풀고, 임시 블록 스토리지에서 볼륨으로 파일을 이동하는 예제는 인터넷데이터 다운로드를 참조하세요.
다음 예제와 같이 Python os
모듈과 같은 파일 유틸리티 명령에 OSS 패키지를 사용할 수도 있습니다.
import os
os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')
외부 도구에서 볼륨 파일 관리
Databricks는 로컬 환경 또는 통합 시스템에서 볼륨의 파일을 프로그래밍 방식으로 관리하기 위한 도구 모음을 제공합니다.
볼륨의 파일에 대한 SQL 명령
Azure Databricks는 볼륨의 파일과 상호 작용하기 위해 다음 SQL 키워드를 지원합니다.
참고 항목
Databricks Notebook 또는 쿼리 편집기에서는 명령만 지원합니다 LIST
.
다음 Databricks SQL 커넥터 및 드라이버는 볼륨의 파일 관리를 지원합니다.
- Python용 Databricks SQL 커넥터입니다. Unity 카탈로그 볼륨의 파일 관리
참조하세요. - The Databricks SQL Driver for Go. Unity 카탈로그 볼륨의 파일 관리
참조하세요. - The Databricks SQL Driver for Node.js. Unity 카탈로그 볼륨의 파일 관리
참조하세요. - Databricks JDBC 드라이버입니다. Databricks JDBC 드라이버사용하여 Unity 카탈로그 볼륨의 파일 관리
참조하세요. - Databricks ODBC 드라이버입니다. Unity 카탈로그 볼륨의 파일을 Databricks ODBC 드라이버을 사용하여 관리하는 방법은
을 참조하세요.
Databricks CLI를 사용하여 볼륨의 파일 관리
에서 하위 명령을 databricks fs
사용합니다. fs 명령 그룹을 참조하세요.
참고 항목
Databricks CLI를 사용하려면 모든 볼륨 경로 앞에 스키마 dbfs:/
필요합니다. 예들 들어 dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data
입니다.
SDK를 사용하여 볼륨의 파일 관리
다음 SDK는 볼륨의 파일 관리를 지원합니다.
- Python용 Databricks SDK입니다. WorkspaceClient.files에서 사용 가능한 메서드를 사용합니다. 예제는 Unity 카탈로그 볼륨파일 관리를 참조하세요.
- Java용 Databricks SDK입니다. WorkspaceClient.files에서 사용 가능한 메서드를 사용합니다. 예제는 Unity 카탈로그 볼륨파일 관리를 참조하세요.
- Go용 Databricks SDK입니다. WorkspaceClient.files에서 사용 가능한 메서드를 사용합니다. 예제는 Unity 카탈로그 볼륨파일 관리를 참조하세요.
REST API를 사용하여 볼륨의 파일 관리
Files API 사용하여 볼륨의 파일을 관리합니다.
볼륨의 파일에 대한 REST API 예제
다음 예제에서는 curl
및 Databricks REST API를 사용하여 볼륨에서 파일 관리 작업을 수행합니다.
다음 예제에서는 지정된 볼륨에 명명 my-folder
된 빈 폴더를 만듭니다.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
다음 예제에서는 볼륨의 지정된 경로에 지정된 데이터를 사용하여 명명 data.csv
된 파일을 만듭니다.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv?overwrite=true" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--header "Content-Type: application/octet-stream" \
--data-binary $'id,Text\n1,Hello World!'
다음 예제에서는 지정된 경로에 있는 볼륨의 내용을 나열합니다. 이 예제에서는 jq를 사용하여 더 쉽게 읽을 수 있도록 응답 본문의 JSON 형식을 지정합니다.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
다음 예제에서는 지정된 경로의 볼륨에 있는 폴더의 내용을 나열합니다. 이 예제에서는 jq를 사용하여 더 쉽게 읽을 수 있도록 응답 본문의 JSON 형식을 지정합니다.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
다음은 볼륨의 지정된 경로에 있는 파일의 내용을 인쇄하는 예제입니다.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
다음 예제에서는 볼륨에서 지정된 경로의 파일을 삭제합니다.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
다음 예제에서는 지정된 볼륨에서 폴더를 삭제합니다.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"