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
):
프로젝트에서 실행하거나 디버그하려는 Python Jupyter Notebook을 엽니다. Python 파일이 Jupyter Notebook 형식인지 확인하고, 확장자가
.ipynb
인지 확인하세요.팁
명령 팔레트 내에서 Create: New Jupyter Notebook 명령을 실행 >하여 새 Python Jupyter Notebook 을 만들 수 있습니다.
모든 셀 실행을 클릭하여 디버깅 없이 모든 셀을 실행하거나, 셀 실행을 클릭하여 개별 셀을 실행하거나, 또는 한 줄씩 실행을 클릭하여 제한된 디버깅으로 개별 셀을 한 줄씩 실행합니다. 변수 값은 Jupyter 패널에 표시됩니다(보기 > 열기 보기 > Jupyter).
개별 셀 내에서 전체 디버깅하려면 중단점을 설정한 다음 셀의 실행 단추 옆에 있는 메뉴에서 셀 디버그를 클릭합니다.
이러한 옵션을 클릭하면 누락된 Python Jupyter Notebook 패키지 종속성을 설치하라는 메시지가 표시될 수 있습니다. 설치하려면 클릭하세요.
자세한 내용은 VS Code의 Jupyter Notebook을 참조하세요.
노트북 전역 변수
다음 노트북 전역 변수가 또한 활성화됩니다.
spark
은databricks.connect.DatabricksSession
인스턴스를 나타내며, 확장에서 Azure Databricks 인증 자격 증명을 가져와DatabricksSession
를 인스턴스화하도록 미리 구성되어 있습니다. Notebook 셀의 코드에서DatabricksSession
가 이미 인스턴스화된 경우,DatabricksSession
설정이 대신 사용됩니다. Python용 Databricks Connect에 대한 코드 예제를 참조하세요.udf
는 Python UDF의pyspark.sql.functions.udf
별칭을 위한 별칭으로 미리 구성되어 있습니다. pyspark.sql.functions.udf를 참조하세요.sql
는spark.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를 참조하세요.displayHTML
는dbruntime.display.displayHTML
의 별칭으로 미리 구성되어 있으며,dbruntime.display.displayHTML
은ipython
에서 온 의 별칭입니다. IPython.display.html 참조하세요.
노트북 마법
다음 노트북 매직 명령도 사용 가능합니다.
%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을 실행합니다. 노트북을 오케스트레이션하고 노트북 안의 코드를 모듈화하는 방법은을 참조하세요.
사용하도록 설정된 추가 기능은 다음과 같습니다.
- Spark DataFrames는 pandas DataFrames로 변환되어 Jupyter 테이블 형식으로 표시됩니다.
제한 사항
Visual Studio Code의 Notebook에서 셀을 실행하는 제한 사항은 다음과 같습니다.
- 노트북 매직 명령
%r
및%scala
는 지원되지 않으며 호출 시 오류가 표시됩니다. Mix 언어를 참조하세요. - Notebook 매직
%sql
은 테이블 표시와 같은 일부 DML 명령을 지원하지 않습니다.