volumes에서 파일 관리
이 문서에서는 다양한 사용자 인터페이스, 도구, 라이브러리 및 언어에 대한 Unity Catalogvolumes 파일을 관리하는 예제를 제공합니다.
Databricks는 클라우드 개체 스토리지에서 테이블 형식이 아닌 데이터에 대한 모든 액세스를 관리하기 위해 volumes 사용하는 것이 좋습니다. 테이블 형식이 아닌 데이터의 예는 다음과 같습니다.
- CSV, JSON 및 Parquet과 같은 수집을 위한 데이터 파일입니다.
- 데이터 과학, ML 및 AI 워크로드를 위한 텍스트, 이미지 및 오디오 파일입니다.
- 외부 시스템과 통합하기 위해 Azure Databricks에서 작성한 CSV 또는 JSON 아티팩트입니다.
라이브러리, 초기화 스크립트 및 빌드 아티팩트와 같은 파일을 저장하는 데 volumes 사용할 수 있습니다.
volumes 파일을 Catalog 탐색기 UI로 작업하세요.
Catalog 탐색기는 Unity Catalogvolumes에 저장된 파일을 위한 일반 파일 관리 작업의 옵션을 제공합니다.
볼륨의 파일과 상호 작용하려면 다음을 수행합니다.
- Azure Databricks 작업 영역에서 Catalog클릭합니다.
- 작업하려는 볼륨을 검색하거나 찾아서 select 작업을 수행하세요.
volumes만들고 관리하는 방법에 대한 자세한 내용은 만들기 및 관리 volumes참조하세요.
볼륨에 파일 업로드
이 볼륨에 업로드 단추는 파일을 업로드하는 대화 상자를 엽니다. Unity
업로드된 파일은 5GB를 초과할 수 없습니다.
볼륨에서 파일 다운로드
볼륨에서 파일을 다운로드하려면 다음을 수행합니다.
- Select 하나 이상의 파일.
- 다운로드를 클릭하여 이러한 파일을 다운로드합니다.
볼륨에서 파일 삭제
볼륨에서 파일을 삭제하려면 다음을 수행합니다.
- Select 하나 이상의 파일.
- 삭제를 클릭합니다.
- 삭제를 클릭하여 표시되는 대화 상자에서 확인합니다.
빈 디렉터리 만들기
볼륨에 새 디렉터리를 만들려면 다음을 수행합니다.
- 볼륨 이름의 오른쪽을 클릭합니다.
- Select 디렉터리만듭니다.
- 디렉터리 이름을 입력합니다.
- 만들기를 클릭합니다.
볼륨에서 디렉터리 삭제
볼륨에서 디렉터리를 삭제하려면 다음을 수행합니다.
- Select 하나 이상의 디렉터리.
- 삭제를 클릭합니다.
- 삭제를 클릭하여 표시되는 대화 상자에서 확인합니다.
volumes의 UI 파일 관리 작업
파일 이름 옆에 있는 케밥 메뉴를 클릭하여 다음 작업을 수행합니다.
- 경로 복사
- 파일 다운로드
- 파일 삭제
- table 만들기
볼륨의 데이터에서 table 만들기
Azure Databricks는 Unity Catalog 볼륨에 저장된 파일, 여러 파일 또는 파일의 디렉터리에서 Unity Catalog로 관리되는 table을 만드는 사용자 인터페이스(UI)를 제공합니다.
대상 schema에 대한 CREATE TABLE
권한이 있어야 하며 실행 중인 SQL 웨어하우스에 접근할 수 있어야 합니다.
Select 하나 이상의 파일 또는 디렉터리. 파일에는 동일한 데이터 레이아웃이 있어야 합니다.
만들기 table클릭합니다. 만들기 tablevolumes 대화 상자가 나타납니다.
제공된 대화 상자를 사용하여 데이터의 미리 보기를 검토하고 다음 구성을 완료합니다.
새 를 생성하거나 기존를 덮어쓰기 선택합니다. - Select의 대상 Catalog 및 Schema.
- Table 이름지정합니다.
- (선택 사항) 기본 column 이름 및 형식을 재정의하거나 columns제외하도록 선택합니다.
참고 항목
고급 특성을 클릭하여 추가 옵션을 봅니다.
클릭하여 table 지정된 특성을 사용하여 table를 만듭니다. 완료되면 Catalog 탐색기에 table 세부 정보가 표시됩니다.
Azure Databricks의 volumes 파일로 프로그래밍 방식으로 작업
다음 형식을 사용하여 지원되는 모든 언어 및 작업 영역 편집기에서 volumes 파일을 읽고 쓸 수 있습니다.
/Volumes/catalog_name/schema_name/volume_name/path/to/files
volumes에서 파일을 다루는 방식은 클라우드 객체 스토리지 위치의 파일을 다루는 방식과 동일합니다. 즉, 현재 클라우드 URI, DBFS 탑재 경로 또는 DBFS 루트 경로를 사용하여 데이터 또는 파일과 상호 작용하는 코드를 관리하는 경우, 코드를 update에서 volumes로 변경할 수 있습니다.
참고 항목
Volumes 테이블 형식이 아닌 데이터에만 사용됩니다. Databricks는 Unity Catalogtables 사용하여 테이블 형식 데이터를 등록한 다음 table 이름을 사용하여 데이터를 읽고 쓰는 것이 좋습니다.
volumes 데이터 읽기 및 쓰기
Apache Spark, pandas, Spark SQL 및 기타 OSS 라이브러리를 사용하여 volumes데이터 파일을 읽고 쓸 수 있습니다.
다음 예제에서는 볼륨에 저장된 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`
volumes 파일에 대한 유틸리티 명령
Databricks는 volumes파일을 관리하기 위한 다음 도구를 제공합니다.
-
dbutils.fs
Databricks 유틸리티의 하위 코드입니다. 파일 시스템 유틸리티(dbutils.fs)를 참조하세요. -
%fs
에 대한dbutils.fs
별칭인 마법입니다. -
%sh
매직은 volumes에 대한 bash 명령을 허용합니다.
이러한 도구를 사용하여 인터넷에서 파일을 다운로드하고, 파일의 압축을 풀고, 임시 블록 스토리지에서 파일을 volumes로 이동하는 방법에 대한 예는 에서 "인터넷에서 데이터 다운로드"를 참조하세요.
다음 예제와 같이 Python os
모듈과 같은 파일 유틸리티 명령에 OSS 패키지를 사용할 수도 있습니다.
import os
os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')
외부 도구에서 volumes 파일 관리
Databricks는 로컬 환경 또는 통합 시스템에서 volumes 파일을 프로그래밍 방식으로 관리하기 위한 도구 모음을 제공합니다.
volumes 파일에 대한 SQL 명령
Azure Databricks는 volumes파일과 상호 작용하기 위해 다음 SQL 키워드를 지원합니다.
참고 항목
Databricks Notebook 또는 쿼리 편집기에서는 명령만 지원합니다 LIST
.
다음 Databricks SQL 커넥터 및 드라이버는 volumes파일 관리를 지원합니다.
- Python용 Databricks SQL 커넥터입니다. Unity 파일 관리 참조 Catalogvolumes하세요.
- The Databricks SQL Driver for Go. Unity에서 파일 관리 방법을 참조하세요 Catalogvolumes.
- The Databricks SQL Driver for Node.js. Unity에서 파일 관리를 참조하세요 Catalogvolumes.
- Databricks JDBC 드라이버입니다. Databricks JDBC 드라이버사용하여 Unity
파일 관리를 참조하세요. - Databricks ODBC 드라이버입니다. Unity
에서 Databricks ODBC 드라이버로 파일을 관리하는 방법 을 참조하세요.
Databricks CLI를 사용하여 volumes 파일 관리
에서 하위 명령을 databricks fs
사용합니다. fs 명령 그룹을 참조하세요.
참고 항목
Databricks CLI를 사용하려면 모든 volumes 경로 앞에 스키마 dbfs:/
필요합니다. 예들 들어 dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data
입니다.
SDK를 사용하여 volumes 파일 관리
다음 SDK는 volumes파일 관리를 지원합니다.
- Python용 Databricks SDK입니다. WorkspaceClient.files에서 사용 가능한 메서드를 사용합니다. 예제는 Unity에서 파일 관리하기 Catalogvolumes를 참조하세요.
- Java용 Databricks SDK입니다. WorkspaceClient.files에서 사용 가능한 메서드를 사용합니다. 예제는 Unity에서 파일 관리 Catalogvolumes를 참조하세요.
- Go용 Databricks SDK입니다. WorkspaceClient.files에서 사용 가능한 메서드를 사용합니다. 예를 보려면 Unity에서 파일 관리 Catalogvolumes를 참조하세요.
REST API를 사용하여 volumes 파일 관리
파일 API을 사용하여 volumes에서 파일을 관리합니다.
volumes 파일에 대한 REST API 예제
다음 예제에서는 curl
및 Databricks REST API를 사용하여 volumes파일 관리 작업을 수행합니다.
다음 예제에서는 지정된 볼륨에 명명 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}"