다음을 통해 공유


Visual Studio Code용 Databricks 확장과 Databricks Connect를 사용하여 노트북 셀을 실행하고 디버그하기

Visual Studio Code Databricks Connect 통합을 위해 Databricks 확장을 사용하여, 노트북을 한 번에 하나의 셀씩 또는 모든 셀을 동시에 실행 및 디버그하고 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인 파일 이름을 가진 노트북의 경우, Visual Studio Code IDE에서 노트북을 열면 각 셀에 셀 실행, 위 실행, 및 디버그 셀 버튼이 표시됩니다. 셀을 실행하면 해당 결과가 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. 모든 셀 실행을 클릭하여 디버깅 없이 모든 셀을 실행하거나, 셀 실행을 클릭하여 개별 셀을 실행하거나, 또는 한 줄씩 실행을 클릭하여 제한된 디버깅으로 개별 셀을 한 줄씩 실행합니다. 변수 값은 Jupyter 패널에 표시됩니다(보기 > 열기 보기 > Jupyter).

    개별 셀 내에서 전체 디버깅하려면 중단점을 설정한 다음 셀의 실행 단추 옆에 있는 메뉴에서 셀 디버그를 클릭합니다.

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

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

노트북 전역 변수

다음 노트북 전역 변수가 또한 활성화됩니다.

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

  • udf는 Python UDF의 pyspark.sql.functions.udf 별칭을 위한 별칭으로 미리 구성되어 있습니다. pyspark.sql.functions.udf를 참조하세요.

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

  • dbutils은 확장에서 Azure Databricks 인증 자격 증명을 가져와 인스턴스화되는 Databricks 유틸리티의 인스턴스로 미리 구성되며, databricks-sdk에서 가져옵니다. Databricks 유틸리티 사용을 참조 하세요.

    참고

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

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

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

  • displayHTMLdbruntime.display.displayHTML의 별칭으로 미리 구성되어 있으며, dbruntime.display.displayHTMLipython에서 온 의 별칭입니다. IPython.display.html 참조하세요.

노트북 마법

다음 노트북 매직 명령도 사용 가능합니다.

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

  • Spark DataFrames는 pandas DataFrames로 변환되어 Jupyter 테이블 형식으로 표시됩니다.

제한 사항

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

  • 노트북 매직 명령 %r%scala는 지원되지 않으며 호출 시 오류가 표시됩니다. Mix 언어를 참조하세요.
  • Notebook 매직 %sql테이블 표시와 같은 일부 DML 명령을 지원하지 않습니다.