Scala용 Databricks Connect에서 IntelliJ IDEA 사용
메모
이 문서에서는 Databricks Runtime 13.3 LTS 이상에 대한 Databricks Connect에 대해 설명합니다.
이 문서에서는 Scala용 Databricks Connect와 IntelliJ IDEA를 Scala 플러그인과 함께 사용하는 방법을 안내합니다. Databricks Connect를 사용하면 인기 있는 IDE, Notebook 서버 및 기타 사용자 지정 애플리케이션을 Azure Databricks 클러스터에 연결할 수 있습니다. Databricks Connect란?.
Scala 플러그 인과 함께 Databricks Connect 및 IntelliJ IDEA를 사용하여 샘플 Scala sbt
프로젝트를 만들고 실행하고 디버그하려면 다음 지침을 따릅니다. 이러한 지침은 IntelliJ IDEA Community Edition 2023.3.6에서 테스트되었습니다. 다른 버전의 IntelliJ IDEA를 사용하는 경우 다음 지침이 다를 수 있습니다.
JDK(Java Development Kit)가 로컬로 설치되어 있는지 확인합니다. Databricks는 로컬 JDK 버전이 Azure Databricks 클러스터의 JDK 버전과 일치하는 것을 권장합니다.
IntelliJ IDEA를 시작합니다.
파일 > 새 > 프로젝트클릭합니다.
프로젝트에 의미 있는 이름붙여보세요.
위치폴더 아이콘을 클릭하여 화면에 나타난 지시를 완료하고 새 Scala 프로젝트의 경로를 지정하십시오.
언어경우 Scala클릭합니다.
빌드 시스템을 위해, sbt을 클릭하세요.
JDK 드롭다운 목록에서 개발 머신에서 클러스터의 JDK 버전과 일치하는 기존 JDK 설치를 선택하거나, JDK 다운로드를 선택하고, 화면의 지침에 따라 클러스터의 JDK 버전과 일치하는 JDK를 다운로드합니다.
메모
클러스터의 JDK 버전 위 또는 아래에 있는 JDK 설치를 선택하면 예기치 않은 결과가 발생하거나 코드가 전혀 실행되지 않을 수 있습니다.
sbt 드롭다운 목록에서 최신 버전을 선택합니다.
Scala 드롭다운 목록에서 클러스터의 Scala 버전과 일치하는 Scala 버전을 선택합니다.
메모
클러스터에서 Scala 버전보다 낮거나 위에 있는 Scala 버전을 선택하면 예기치 않은 결과가 발생하거나 코드가 전혀 실행되지 않을 수 있습니다.
패키지 접두사에 대해, 프로젝트 소스를 위한 패키지 접두사 값을 입력하세요(예:
org.example.application
).샘플 코드 추가 확인란이 선택되어 있는지 확인합니다.
클릭생성합니다.
Databricks Connect 패키지를 추가합니다. 새 Scala 프로젝트를 열고, 프로젝트 도구 창(보기 > Tool Windows > Project)에서, 프로젝트 이름> target안에 위치한
build.sbt
파일을 엽니다.Scala용 Databricks Connect 라이브러리의 특정 버전에 대한 프로젝트의 종속성을 선언하는
build.sbt
파일의 끝에 다음 코드를 추가합니다.libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
14.3.1
클러스터의 Databricks 런타임 버전과 일치하는 Databricks Connect 라이브러리 버전으로 바꿉니다. Maven 중앙 리포지토리 에서 Databricks Connect 라이브러리의 버전 번호를찾을 수 있습니다.로드 sbt 변경 알림 아이콘을 클릭하여 Scala 프로젝트를 새 라이브러리 위치 및 종속성으로 업데이트합니다.
IDE 아래쪽의
sbt
진행률 표시기가 사라질 때까지 기다립니다.sbt
로드 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다.코드 추가: 프로젝트의 도구 창에서
Main.scala
파일을 열고, 프로젝트 이름> src > main > scala디렉토리 안에 있습니다.파일의 기존 코드를 다음 코드로 바꾼 다음 파일을 저장합니다.
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() } }
코드를 실행합니다. 원격 Azure Databricks 작업 영역에서 대상 클러스터를 시작합니다.
클러스터가 시작된 후, 메인 메뉴에서 실행 > 'Main'을 클릭합니다.
실행 도구 창(보기 > 도구 창 > 실행)의 기본 탭에
samples.nyctaxi.trips
테이블의 처음 5개 행이 나타납니다. 모든 Scala 코드는 로컬로 실행되지만 DataFrame 작업과 관련된 모든 Scala 코드는 원격 Azure Databricks 작업 영역의 클러스터에서 실행되고 실행 응답은 로컬 호출자에게 다시 전송됩니다.코드 디버그: 아직 실행되고 있지 않은 경우 원격 Azure Databricks 작업 영역에서 대상 클러스터를 시작합니다.
앞의 코드에서
df.limit(5).show()
옆의 여백을 클릭하여 중단점을 설정합니다.클러스터가 시작된 후 주 메뉴에서 실행 > 디버그 'Main'를 클릭합니다.
디버그 도구 창(보기 > 도구 창 > 디버그)의 콘솔 탭에서 계산기(식평가) 아이콘을 클릭합니다.
식
df.schema
을 입력한 후 의 평가 버튼를 클릭하여 DataFrame의 스키마를 확인할 수 있습니다.디버그 도구 창의 사이드바에서 녹색 화살표(프로그램 재개) 아이콘을 클릭합니다.
콘솔 창에
samples.nyctaxi.trips
테이블의 처음 5개 행이 나타납니다. 모든 Scala 코드는 로컬로 실행되지만 DataFrame 작업과 관련된 모든 Scala 코드는 원격 Azure Databricks 작업 영역의 클러스터에서 실행되고 실행 응답은 로컬 호출자에게 다시 전송됩니다.