Python용 Databricks Connect를 사용하는 Databricks 유틸리티
참고 항목
이 문서에서는 Databricks Runtime 13.3 LTS 이상에 대한 Databricks Connect에 대해 설명합니다.
이 문서에서는 Python용 Databricks Connect에서 Databricks 유틸리티를 사용하는 방법을 설명합니다. Databricks Connect를 사용하면 인기 있는 IDE, Notebook 서버 및 사용자 지정 애플리케이션을 Azure Databricks 클러스터에 연결할 수 있습니다. Databricks Connect란?을 참조하세요. 이 문서의 Scala 버전은 Databricks Connect for Scala를 사용하는 Databricks 유틸리티를 참조하세요.
참고 항목
Databricks Connect 사용을 시작하기 전에 Databricks Connect 클라이언트를 설정해야 합니다.
Databricks Connect를 사용하여 다음과 같이 Databricks 유틸리티에 액세스합니다.
- 클래스의
dbutils
변수를WorkspaceClient
사용하여 Databricks 유틸리티에 액세스합니다. 이 클래스는WorkspaceClient
Python 용 Databricks SDK에 속하며 Databricks Connect에 포함됩니다. - Databricks Utilities fs 유틸리티에 액세스하는 데 사용합니다
dbutils.fs
. - Databricks 유틸리티 비밀 유틸리티에 액세스하는 데 사용합니다
dbutils.secrets
. - 이전 유틸리티 이외의 Databricks 유틸리티 기능은 사용할
dbutils
수 없습니다.
팁
Python용 포함된 Databricks SDK를 사용하여 이전 Databricks 유틸리티 API뿐만 아니라 사용 가능한 모든 Databricks REST API에 액세스할 수도 있습니다. PyPI에서 databricks-sdk를 참조하세요.
초기화 WorkspaceClient
하려면 작업 영역에서 Databricks SDK를 인증하기에 충분한 정보를 제공해야 합니다. 이렇게 시작할 수 있는 작업의 예는 다음과 같습니다.
코드 내에서 직접 작업 영역 URL 및 액세스 토큰을 하드 코딩한 다음 다음과 같이 초기화
WorkspaceClient
합니다. 이 옵션은 지원되지만 코드가 버전 제어로 체크 인되거나 공유되는 경우 액세스 토큰과 같은 중요한 정보를 노출할 수 있으므로 Databricks 는 이 옵션을 권장 하지 않습니다.from databricks.sdk import WorkspaceClient w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}", token = retrieve_token())
필드를
host
포함하는 구성 프로필을 만들거나 지정한token
다음 다음과 같이 초기화WorkspaceClient
합니다.from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
환경 변수를 설정하고 Databricks
DATABRICKS_HOST
DATABRICKS_TOKEN
Connect에 대해 설정하는 것과 동일한 방식으로 설정한 다음 다음과 같이 초기화WorkspaceClient
합니다.from databricks.sdk import WorkspaceClient w = WorkspaceClient()
Python용 Databricks SDK는 Databricks Connect의 SPARK_REMOTE
환경 변수를 인식하지 못합니다.
Python용 Databricks SDK에 대한 추가 Azure Databricks 인증 옵션과 Databricks SDK 내에서 초기화 AccountClient
하여 작업 영역 수준이 아닌 계정 수준에서 사용 가능한 Databricks REST API에 액세스하는 방법은 PyPI의 databricks-sdk를 참조하세요.
다음 예제에서는 Python용 Databricks SDK를 사용하여 Databricks 유틸리티를 자동화하는 방법을 보여 줍니다. 이 예제에서는 작업 영역 내에서 Unity 카탈로그 볼륨의 경로에 이름이 지정된 zzz_hello.txt
파일을 만들고 파일에서 데이터를 읽은 다음 파일을 삭제합니다. 이 예제에서는 환경 변수가 이미 설정되어 있다고 DATABRICKS_TOKEN
가정합니다.DATABRICKS_HOST
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
file_path = "/Volumes/main/default/my-volume/zzz_hello.txt"
file_data = "Hello, Databricks!"
fs = w.dbutils.fs
fs.put(
file = file_path,
contents = file_data,
overwrite = True
)
print(fs.head(file_path))
fs.rm(file_path)
Python용 Databricks SDK 설명서에서 dbutils와의 상호 작용도 참조하세요.