다음을 통해 공유


Visual Studio Code용 Databricks 확장을 사용하여 Databricks Connect를 사용하여 Notebook 셀 실행 및 디버그

Visual Studio Code Databricks Connect 통합을 위해 Databricks 확장을 사용하여 Notebook, 한 번에 하나의 셀 또는 모든 셀을 한 번에 실행 및 디버그하고 Visual Studio Code UI에서 결과를 볼 수 있습니다. 모든 코드는 로컬로 실행되지만 DataFrame 작업과 관련된 모든 코드는 원격 Azure Databricks 작업 영역의 클러스터에서 실행되고 실행 응답은 로컬 호출자에게 다시 전송됩니다. 모든 코드는 로컬로 디버그되고 모든 Spark 코드는 원격 Azure Databricks 작업 영역의 클러스터에서 계속 실행됩니다. 코어 Spark 엔진 코드는 클라이언트에서 직접 디버그할 수 없습니다.

참고 항목

이 기능은 Databricks Runtime 13.3 이상에서 작동합니다.

Visual Studio Code용 Databricks 확장에서 Notebook에 Databricks Connect 통합을 사용하도록 설정하려면 Visual Studio Code용 Databricks 확장에 Databricks Connect를 설치해야 합니다. Visual Studio Code용 Databricks 확장에 Databricks Connect를 사용하는 디버그 코드를 참조하세요.

Python Notebook 셀 실행

확장명이 있는 파일 이름을 가진 .py Notebook의 경우 Visual Studio Code IDE에서 Notebook을 열면 각 셀에 셀 실행, 실행디버그 셀 단추가 표시됩니다. 셀을 실행하면 해당 결과가 IDE의 별도 탭에 표시됩니다. 디버그할 때 디버그 중인 셀에 계속, 중지단계별 실행 단추가 표시됩니다. 셀을 디버그할 때 변수의 상태를 보고 호출 스택 및 디버그 콘솔 보기와 같은 Visual Studio Code 디버깅 기능을 사용할 수 있습니다.

확장명이 있는 파일 이름을 가진 .ipynb Notebook의 경우 Visual Studio Code IDE에서 Notebook을 열면 Notebook과 해당 셀에 추가 기능이 포함됩니다. Notebook 편집기에서 셀 실행 및 코드 셀 작업 참조

확장명 및 .py 확장명 파일 이름의 .ipynb Notebook 형식에 대한 자세한 내용은 Databricks Notebook 내보내기 및 가져오기를 참조하세요.

Python Jupyter noteboook 셀 실행

Python Jupyter Notebook을 실행하거나 디버그하려면(.ipynb):

  1. 프로젝트에서 실행하거나 디버그하려는 Python Jupyter Notebook을 엽니다. Python 파일이 Jupyter Notebook 형식이고 확장 .ipynb명은 있는지 확인합니다.

    명령 팔레트 내에서 Create: New Jupyter Notebook 명령을 실행 >하여 새 Python Jupyter Notebook만들 수 있습니다.

  2. 모든 셀 실행을 클릭하여 디버깅 없이 모든 셀을 실행하거나, 셀 실행을 클릭하여 개별 셀을 디버깅 없이 실행합니다. 또는 줄별로 실행을 사용하여 제한된 디버깅과 함께 개별 셀을 한 줄씩 실행합니다. 변수 values은 Jupyter 패널에 표시됩니다(보기 > 열기 보기 > Jupyter).

    개별 셀 내에서 전체 디버깅을 수행하려면, set 중단점을 설정한 후, 셀의 실행 버튼 옆에 있는 메뉴에서 디버그 셀을 클릭하세요.

    이러한 옵션을 클릭하면 누락된 Python Jupyter Notebook 패키지 종속성을 설치하라는 메시지가 표시될 수 있습니다. 설치하려면 클릭하세요.

    자세한 내용은 VS Code의 Jupyter Notebook을 참조하세요.

Notebook 전역

다음 Notebook 전역도 사용하도록 설정됩니다.

  • spark은(는) databricks.connect.DatabricksSession인스턴스를 나타내며, 확장에서 Azure Databricks 인증 credentials을(를) 가져와 DatabricksSession를 인스턴스화하도록 미리 구성되어 있습니다. Notebook 셀의 코드에서 이미 인스턴스화된 경우 DatabricksSessionDatabricksSession 설정이 대신 사용됩니다. Python용 Databricks Connect에 대한 코드 예제를 참조하세요.

  • udf- Python UDF의 pyspark.sql.functions.udf별칭인 별칭으로 미리 구성됩니다. pyspark.sql.functions.udf를 참조하세요.

  • sql, 에 대한 spark.sql별칭으로 미리 구성됩니다. spark앞에서 설명한 대로 미리 구성된 databricks.connect.DatabricksSession인스턴스를 나타냅니다. Spark SQL을 참조하세요.

  • dbutilsdatabricks-sdk에서 가져와 Azure Databricks 인증 credentials를 얻고 확장에서 인스턴스화되어 Databricks 유틸리티의 인스턴스로 미리 구성됩니다. Databricks 유틸리티 사용을 참조 하세요.

    참고 항목

    Databricks Connect를 사용하는 Notebook에는 Databricks 유틸리티의 하위 집합만 지원됩니다.

    사용하도록 설정 dbutils.widgets하려면 먼저 로컬 개발 머신의 터미널에서 다음 명령을 실행하여 Python용 Databricks SDK를 설치해야 합니다.

    pip install 'databricks-sdk[notebook]'
    
  • display- Jupyter 기본 제공 IPython.display.display에 대한 별칭으로 미리 구성됩니다. IPython.display.display를 참조하세요.

  • displayHTML, 에 대한 dbruntime.display.displayHTML별칭으로 미리 구성되어 있습니다. 이 별칭은 fromdisplay.HTML의 별칭 ipython 입니다. IPython.display.html 참조하세요.

Notebook 매직

다음 Notebook 매직도 사용하도록 설정됩니다.

  • %fs- 호출하는 dbutils.fs 것과 동일합니다. Mix 언어를 참조 하세요.

  • %sh- 로컬 컴퓨터에서 셀 매직 %%script 을 사용하여 명령을 실행합니다. 원격 Azure Databricks 작업 영역에서 명령을 실행하지 않습니다. Mix 언어를 참조 하세요.

  • %md%md-sandbox, 셀 매직 %%markdown을 실행합니다. Mix 언어를 참조 하세요.

  • %sql를 실행 spark.sql합니다. Mix 언어를 참조 하세요.

  • %pip- 로컬 컴퓨터에서 실행됩니다 pip install . 원격 Azure Databricks 작업 영역에서는 실행 pip install 되지 않습니다. %pip 명령을 사용하여 라이브러리 관리를 참조 하세요.

  • %run- 다른 Notebook을 실행합니다. 노트북을 오케스트레이션하고 노트북 안의 코드를 모듈화하는 방법은을 참조하세요.

    참고 항목

    사용하도록 설정%run하려면 먼저 로컬 개발 머신의 터미널에서 다음 명령을 실행하여 nbformat 라이브러리를 설치해야 합니다.

    pip install nbformat
    

사용하도록 설정된 추가 기능은 다음과 같습니다.

  • Spark DataFrames가 pandas DataFrames로 변환되어, Jupyter table 형식으로 표시됩니다.

제한 사항

Visual Studio Code의 Notebook에서 셀을 실행하는 제한 사항은 다음과 같습니다.

  • Notebook은 매직을 사용 %r 하며 %scala 지원되지 않으며 호출되는 경우 오류를 표시합니다. Mix 언어를 참조 하세요.
  • "매직 '%sql'은(는) 'Tables' 표시와 같은 일부 DML 명령을 지원하지 않습니다."