Scala용 Databricks Connect
참고 항목
이 문서에서는 Databricks Runtime 13.3 LTS 이상에 대한 Databricks Connect에 대해 설명합니다.
이 문서에서는 IntelliJ IDEA 및 Scala 플러그 인과 함께 Scala를 사용하여 Databricks Connect를 빠르게 시작하는 방법을 보여 줍니다.
- 이 문서의 Python 버전은 Python용 Databricks Connect를 참조하세요.
- 이 문서의 R 버전은 R용 Databricks Connect를 참조하세요.
Databricks Connect를 사용하면 IntelliJ IDEA, Notebook 서버 및 기타 사용자 지정 애플리케이션과 같은 인기 있는 IDE를 Azure Databricks 클러스터에 연결할 수 있습니다. Databricks Connect란?을 참조하세요.
자습서
이 자습서를 건너뛰고 다른 IDE를 대신 사용하려면 다음 단계를 참조 하세요.
요구 사항
이 자습서를 완료하려면 다음 요구 사항을 충족해야 합니다.
대상 Azure Databricks 작업 영역 및 클러스터는 Databricks Connect에 대한 컴퓨팅 구성 요구 사항을 충족해야 합니다.
클러스터 ID를 사용할 수 있어야 합니다. 클러스터 ID를 가져오려면 작업 영역에서 사이드바에서 컴퓨팅을 클릭한 다음 클러스터 이름을 클릭합니다. 웹 브라우저의 주소 표시줄에서 URL에서
clusters
와configuration
긴 문자 문자열을 복사합니다.개발 머신에 JDK(Java Development Kit)가 설치되어 있습니다. Databricks는 사용하는 JDK 설치 버전이 Azure Databricks 클러스터의 JDK 버전과 일치하는 것을 권장합니다. 다음 표에서는 지원되는 각 Databricks 런타임에 대한 JDK 버전을 보여 줍니다.
Databricks Runtime 버전 JDK 버전 13.3 LTS - 15.0,
13.3 ML LTS - 15.0 MLJDK 8 16.0 JDK 17 참고 항목
JDK가 설치되어 있지 않거나 개발 컴퓨터에 여러 JDK가 설치되어 있는 경우 1단계의 뒷부분에서 특정 JDK를 설치하거나 선택할 수 있습니다. 클러스터의 JDK 버전보다 낮거나 위에 있는 JDK 설치를 선택하면 예기치 않은 결과가 발생하거나 코드가 전혀 실행되지 않을 수 있습니다.
IntelliJ IDEA가 설치되어 있습니다. 이 자습서는 IntelliJ IDEA Community Edition 2023.3.6에서 테스트되었습니다. 다른 버전의 IntelliJ IDEA를 사용하는 경우 다음 지침이 다를 수 있습니다.
IntelliJ IDEA용 Scala 플러그 인이 설치되어 있습니다.
1단계: Azure Databricks 인증 구성
이 자습서에서는 Azure Databricks 작업 영역을 사용하여 인증하기 위해 Azure Databricks OAuth U2M(사용자-컴퓨터) 인증 및 Azure Databricks 구성 프로필을 사용합니다. 대신 다른 인증 유형을 사용하려면 연결 속성 구성을 참조 하세요.
OAuth U2M 인증을 구성하려면 다음과 같이 Databricks CLI가 필요합니다.
아직 설치되지 않은 경우 다음과 같이 Databricks CLI를 설치합니다.
Linux, macOS
Homebrew를 사용하여 다음 두 명령을 실행하여 Databricks CLI를 설치합니다.
brew tap databricks/tap brew install databricks
Windows
winget, Chocolatey 또는 WSL(Linux용 Windows 하위 시스템)을 사용하여 Databricks CLI를 설치할 수 있습니다. , Chocolatey 또는 WSL을 사용할
winget
수 없는 경우 이 절차를 건너뛰고 명령 프롬프트 또는 PowerShell을 사용하여 원본 에서 Databricks CLI를 설치해야 합니다.Databricks CLI를 설치하는 데 사용
winget
하려면 다음 두 명령을 실행한 다음 명령 프롬프트를 다시 시작합니다.winget search databricks winget install Databricks.DatabricksCLI
Chocolatey를 사용하여 Databricks CLI를 설치하려면 다음 명령을 실행합니다.
choco install databricks-cli
WSL을 사용하여 Databricks CLI를 설치하려면:
WSL을 설치하고
zip
통해 설치curl
합니다. 자세한 내용은 운영 체제 설명서를 참조하세요.WSL을 사용하여 다음 명령을 실행하여 Databricks CLI를 설치합니다.
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
설치된 Databricks CLI의 현재 버전을 표시하는 다음 명령을 실행하여 Databricks CLI가 설치되어 있는지 확인합니다. 이 버전은 0.205.0 이상이어야 합니다.
databricks -v
참고 항목
실행
databricks
하지만 오류(예:command not found: databricks
실행databricks -v
중) 또는 버전 번호가 0.18 이하인 경우 컴퓨터가 올바른 버전의 Databricks CLI 실행 파일을 찾을 수 없음을 의미합니다. 이 문제를 해결하려면 CLI 설치 확인을 참조하세요.
다음과 같이 OAuth U2M 인증을 시작합니다.
Databricks CLI를 사용하여 각 대상 작업 영역에 대해 다음 명령을 실행하고 OAuth 토큰 관리를 로컬로 시작합니다.
다음 명령에서
<workspace-url>
를 Azure Databricks 작업 영역 URL로 바꿉니다(예:https://adb-1234567890123456.7.azuredatabricks.net
).databricks auth login --configure-cluster --host <workspace-url>
Databricks CLI는 Azure Databricks 구성 프로필로 입력한 정보를 저장하라는 메시지를 표시합니다.
Enter
를 눌러 제안된 프로필 이름을 수락하거나 새 프로필 또는 기존 프로필의 이름을 입력합니다. 이름이 같은 기존 프로필은 입력한 정보로 덮어쓰여집니다. 프로필을 사용하여 여러 작업 영역에서 인증 컨텍스트를 빠르게 전환할 수 있습니다.기존 프로필 목록을 얻으려면 별도의 터미널 또는 명령 프롬프트에서 Databricks CLI를 사용하여
databricks auth profiles
명령을 실행합니다. 특정 프로필의 기존 설정을 보려면databricks auth env --profile <profile-name>
명령을 실행합니다.웹 브라우저에서 화면상의 지침을 완료하여 Azure Databricks 작업 영역에 로그인합니다.
터미널 또는 명령 프롬프트에 표시되는 사용 가능한 클러스터 목록에서 위쪽 화살표 키와 아래쪽 화살표 키를 사용하여 작업 영역에서 대상 Azure Databricks 클러스터를 선택한 다음 누릅니
Enter
다. 클러스터 표시 이름의 일부를 입력하여 사용 가능한 클러스터 목록을 필터링할 수도 있습니다.프로필의 현재 OAuth 토큰 값과 토큰의 예정된 만료 타임스탬프를 보려면 다음 명령 중 하나를 실행합니다.
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
동일한
--host
값을 가진 프로필이 여러 개 있는 경우, Databricks CLI가 올바르게 일치하는 OAuth 토큰 정보를 찾을 수 있도록--host
및-p
옵션을 함께 지정해야 할 수 있습니다.
2단계: 프로젝트 만들기
IntelliJ IDEA를 시작합니다.
주 메뉴에서 새 > 파일 > 프로젝트를 클릭합니다.
프로젝트에 의미 있는 이름을 지정합니다.
위치의 경우 폴더 아이콘을 클릭하고 화면의 방향을 완료하여 새 Scala 프로젝트의 경로를 지정합니다.
언어의 경우 Scala를 클릭합니다.
빌드 시스템의 경우 sbt를 클릭합니다.
JDK 드롭다운 목록에서 클러스터의 JDK 버전과 일치하는 개발 머신에서 JDK의 기존 설치를 선택하거나 JDK 다운로드를 선택하고 화면의 지침에 따라 클러스터의 JDK 버전과 일치하는 JDK를 다운로드합니다.
참고 항목
클러스터의 JDK 버전 위 또는 아래에 있는 JDK 설치를 선택하면 예기치 않은 결과가 발생하거나 코드가 전혀 실행되지 않을 수 있습니다.
sbt 드롭다운 목록에서 최신 버전을 선택합니다.
Scala 드롭다운 목록에서 클러스터의 Scala 버전과 일치하는 Scala 버전을 선택합니다. 다음 표에서는 지원되는 각 Databricks 런타임에 대한 Scala 버전을 보여 줍니다.
Databricks Runtime 버전 Scala 버전 13.3 LTS - 15.0,
13.3 ML LTS - 15.0 ML2.12.15 참고 항목
클러스터에서 Scala 버전보다 낮거나 위에 있는 Scala 버전을 선택하면 예기치 않은 결과가 발생하거나 코드가 전혀 실행되지 않을 수 있습니다.
Scala 옆에 있는 원본 다운로드 상자가 선택되어 있는지 확인합니다.
패키지 접두사에 프로젝트 원본에 대한 일부 패키지 접두사 값을 입력합니다. 예를 들면 다음과 같습니다
org.example.application
.샘플 코드 추가 상자가 선택되어 있는지 확인합니다.
만들기를 클릭합니다.
3단계: Databricks Connect 패키지 추가
새 Scala 프로젝트가 열리면 프로젝트 도구 창(도구 창 > 보기>)에서 프로젝트 이름> 대상에서 이름이 지정된
build.sbt
파일을 엽니다.파일의
build.sbt
끝에 다음 코드를 추가합니다. 이 코드는 Scala용 Databricks Connect 라이브러리의 특정 버전에 대한 프로젝트의 종속성을 선언합니다.libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
클러스터의 Databricks 런타임 버전과 일치하는 Databricks Connect 라이브러리의 버전으로 바꿉
14.3.1
니다. Maven 중앙 리포지토리에서 Databricks Connect 라이브러리 버전 번호를 찾을 수 있습니다.Sbt 변경 내용 로드 알림 아이콘을 클릭하여 Scala 프로젝트를 새 라이브러리 위치 및 종속성으로 업데이트합니다.
IDE 아래쪽의
sbt
진행률 표시기가 사라질 때까지 기다립니다.sbt
로드 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다.
4단계: 코드 추가
프로젝트 도구 창에서 프로젝트 이름> src > main > scala에서 이름이 지정된
Main.scala
파일을 엽니다.파일의 기존 코드를 다음 코드로 바꾼 다음 구성 프로필의 이름에 따라 파일을 저장합니다.
1단계의 구성 프로필 이름이 지정된
DEFAULT
경우 파일의 기존 코드를 다음 코드로 바꾼 다음 파일을 저장합니다.package org.example.application import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
1단계의 구성 프로필 이름이 지정
DEFAULT
되지 않은 경우 파일의 기존 코드를 대신 다음 코드로 바꿉 있습니다. 자리 표시자를<profile-name>
1단계의 구성 프로필 이름으로 바꾼 다음 파일을 저장합니다.package org.example.application import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val config = new DatabricksConfig().setProfile("<profile-name>") val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
5단계: 코드 실행
- 원격 Azure Databricks 작업 영역에서 대상 클러스터를 시작합니다.
- 클러스터가 시작된 후 주 메뉴에서 '기본' 실행 실행을 > 클릭합니다.
- 실행 도구 창(도구 창 > 실행 보기>)의 주 탭에 테이블의 처음 5개 행이
samples.nyctaxi.trips
나타납니다.
6단계: 코드 디버그
- 대상 클러스터가 계속 실행 중인 상태에서 이전 코드에서 옆의 여백을
df.limit(5).show()
클릭하여 중단점을 설정합니다. - 주 메뉴에서 '주' 디버그 실행을 > 클릭합니다.
- 디버그 도구 창(도구 창 > 디버그 보기>)의 콘솔 탭에서 계산기(식 평가) 아이콘을 클릭합니다.
- 식을
df.schema
입력하고 평가(Evaluate)를 클릭하여 DataFrame의 스키마를 표시합니다. - 디버그 도구 창의 사이드바에서 녹색 화살표(프로그램 다시 시작) 아이콘을 클릭합니다.
- 콘솔 창에 테이블의 처음 5개 행이
samples.nyctaxi.trips
나타납니다.
다음 단계
Databricks Connect에 대한 자세한 내용은 다음과 같은 문서를 참조하세요.
Azure Databricks 개인용 액세스 토큰 이외의 Azure Databricks 인증 유형을 사용하려면 연결 속성 구성을 참조하세요.
다른 IDE를 사용하려면 다음을 참조하세요.
추가 간단한 코드 예제를 보려면 Databricks Connect for Scala에 대한 코드 예제를 참조 하세요.
더 복잡한 코드 예제를 보려면 GitHub에서 Databricks Connect 리포지토리에 대한 예제 애플리케이션을 참조하세요. 특히 다음을 참조하세요.
Databricks Runtime 12.2 LTS 이하의 Databricks Connect for Databricks Connect 13.3 LTS 이상으로 마이그레이션하려면 Scala용 Databricks Connect로 마이그레이션을 참조하세요.