다음을 통해 공유


Scala용 Databricks 커넥트 Visual Studio Code 사용

참고 항목

이 문서에서는 Databricks Runtime 13.3 LTS 이상에 대한 Databricks 커넥트 설명합니다.

이 문서에서는 Visual Studio Code에서 Scala용 Databricks 커넥트 사용하는 방법을 설명합니다. Databricks 커넥트 사용하면 인기 있는 IDE, Notebook 서버 및 기타 사용자 지정 애플리케이션을 Azure Databricks 클러스터에 연결할 수 있습니다. Databricks 커넥트란?을 참조하세요. 이 문서의 Python 버전은 Python용 Databricks 커넥트 Visual Studio Code 사용을 참조하세요.

참고 항목

Databricks 커넥트 사용하기 전에 Databricks 커넥트 클라이언트를 설정해야 합니다.

Scala(Metals) 확장과 함께 Databricks 커넥트 및 Visual Studio Code를 사용하여 샘플 Scala sbt 프로젝트를 만들고 실행하고 디버그하려면 다음 지침을 따릅니다. 이 샘플을 기존 Scala 프로젝트에 적용할 수도 있습니다.

  1. JDK(Java Development Kit) 및 Scala가 로컬로 설치되어 있는지 확인합니다. Databricks는 로컬 JDK 및 Scala 버전이 Azure Databricks 클러스터의 JDK 및 Scala 버전과 일치하는 것을 권장합니다.

  2. 최신 버전 sbt 이 로컬로 설치되어 있는지 확인합니다.

  3. Visual Studio Code용 Scala(Metals) 확장을 설치합니다.

  4. Visual Studio Code에서 Scala 프로젝트(파일 > 열기 폴더)를 만들 폴더를 엽니다.

  5. 사이드바에서 금속 확장 아이콘을 클릭한 다음 새 Scala 프로젝트를 클릭합니다.

  6. 명령 팔레트에서 scala/hello-world.g8이라는 템플릿을 선택하고 화면의 지침을 완료하여 지정된 폴더에 Scala 프로젝트 만들기를 완료합니다.

  7. 프로젝트 빌드 설정 추가: 탐색기 보기(탐색기 보기>)에서 프로젝트의 루트에서 파일을 열고 build.sbt 파일의 내용을 다음으로 바꾸고 파일을 저장합니다.

    scalaVersion := "2.12.15"
    
    libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
    

    클러스터의 Databricks 런타임 버전에 포함된 버전과 일치해야 하는 설치된 Scala 버전으로 바꿉 2.12.15 니다.

    클러스터의 Databricks 런타임 버전과 일치하는 Databricks 커넥트 라이브러리의 버전으로 바꿉 14.0.0 니다. Maven 중앙 리포지토리에서 Databricks 커넥트 라이브러리 버전 번호를 찾을 수 있습니다.

  8. Scala 코드 추가: 프로젝트의 루트를 기준으로 파일을 열고 src/main/scala/Main.scala 파일 내용을 다음으로 바꾸고 파일을 저장합니다.

    import com.databricks.connect.DatabricksSession
    import org.apache.spark.sql.SparkSession
    
    object Main extends App {
      val spark = DatabricksSession.builder().remote().getOrCreate()
      val df = spark.read.table("samples.nyctaxi.trips")
      df.limit(5).show()
    }
    
  9. 프로젝트 빌드: 명령 금속 실행: 명령 >팔레트에서 빌드 가져오기

  10. 프로젝트 실행 설정 추가: 실행 및 디버그 보기(실행 보기>)에서 레이블이 지정된 링크를 클릭하여 launch.json 파일을 만듭니다.

  11. 명령 팔레트에서 Scala 디버거를 선택합니다.

  12. 다음 실행 구성을 launch.json 파일에 추가한 다음 파일을 저장합니다.

    {
      // Use IntelliSense to learn about possible attributes.
      // Hover to view descriptions of existing attributes.
      // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
        {
          "type": "scala",
          "request": "launch",
          "name": "Scala: Run main class",
          "mainClass": "Main",
          "args": [],
          "jvmOptions": []
        }
      ]
    }
    
  13. 프로젝트 실행: Scala: run 기본 클래스 옆에 있는 재생(디버깅 시작) 아이콘을 클릭합니다. 디버그 콘솔 보기(디버그 콘솔 보기>)에 테이블의 처음 5개 행이 samples.nyctaxi.trips 나타납니다. 모든 Scala 코드는 로컬로 실행되지만 DataFrame 작업과 관련된 모든 Scala 코드는 원격 Azure Databricks 작업 영역의 클러스터에서 실행되고 실행 응답은 로컬 호출자에게 다시 전송됩니다.

  14. 프로젝트 디버그: 코드에서 중단점을 설정한 다음 재생 아이콘을 다시 클릭합니다. 모든 Scala 코드는 로컬로 디버그되고 모든 Scala 코드는 원격 Azure Databricks 작업 영역의 클러스터에서 계속 실행됩니다. 코어 Spark 엔진 코드는 클라이언트에서 직접 디버그할 수 없습니다.