Skip to main content

Databricks SDK란?

Databricks Python SDK는 Databricks 플랫폼의 모든 기능을 프로그래밍 방식으로 제어 할 수 있게 해주는 공식 Python 라이브러리입니다. 클러스터 생성, Job 실행, SQL 쿼리, Unity Catalog 관리 등 UI에서 할 수 있는 거의 모든 작업을 Python 코드로 자동화할 수 있습니다.
💡 왜 SDK가 필요한가? UI에서 수동으로 작업하는 것은 소규모 환경에서는 문제가 없지만, 수십 개의 클러스터를 관리하거나 수백 개의 Job을 배포할 때는 자동화가 필수적입니다. SDK를 사용하면 Infrastructure as Code(IaC) 방식으로 Databricks 리소스를 관리할 수 있습니다.

설치 및 인증

설치

인증 방법

Databricks SDK는 통합 인증(Unified Auth) 을 지원합니다. 여러 인증 방법 중 환경에 맞는 것을 선택할 수 있습니다.

OAuth 인증 (권장)

PAT 인증

Service Principal (M2M OAuth)

환경 변수 사용

코드에 인증 정보를 직접 넣지 않고 환경 변수를 활용하는 것을 권장합니다.

주요 클라이언트

SDK는 두 가지 주요 클라이언트를 제공합니다.

핵심 API 영역

클러스터 관리 (w.clusters)

Job 관리 (w.jobs)

SQL 실행 (w.statement_execution)

Unity Catalog 관리

Model Serving (w.serving_endpoints)

Secret 관리 (w.secrets)


Databricks Connect

Databricks Connect는 로컬 IDE(VS Code, PyCharm 등)에서 작성한 PySpark 코드를 원격 Databricks 클러스터에서 실행 할 수 있게 해주는 기능입니다. SDK의 일부로 제공됩니다.

설치

중요: databricks-connect 버전은 대상 클러스터의 DBR(Databricks Runtime) 버전과 일치해야 합니다.

사용 예시

Databricks Connect vs 일반 PySpark 비교


REST API vs SDK 비교

Databricks REST API를 직접 호출하는 것 대비 SDK를 사용하면 여러 장점이 있습니다. REST API를 직접 호출하면 requests 라이브러리로 헤더·URL·페이지네이션을 모두 수동 관리해야 합니다. SDK는 이 모든 것을 추상화하므로 코드가 훨씬 간결해집니다.

실습: 워크스페이스 리소스 인벤토리

아래 스크립트는 SDK를 사용하여 워크스페이스의 주요 리소스 현황을 한눈에 파악하는 예시입니다.

정리


참고 링크