Databricks 앱을 사용하면 Databricks 플랫폼에서 사용자와 쉽게 공유할 수 있는 보안 데이터 및 AI 애플리케이션을 만들 수 있습니다. PySpark 및 Databricks Connect를 사용하여 Databricks 앱을 개발하면 앱에서 Apache Spark의 기능을 활용할 수 있습니다. JDBC 드라이버와 마찬가지로 Databricks Connect를 모든 애플리케이션에 포함하여 Databricks와 상호 작용할 수 있습니다. 또한 Databricks Connect는 PySpark를 통해 Python 전체 표현을 제공하므로 Databricks 컴퓨팅에서 Spark를 사용하여 모든 데이터 변환을 실행할 수 있습니다.
앱 및 Databricks Connect에 대한 자세한 내용은 Databricks 앱 및 Databricks Connect를 참조하세요.
이 자습서에서는 Databricks 작업 영역에서 간단한 Databricks 앱을 만든 다음 Databricks Connect를 사용하여 로컬로 개발하는 방법에 대해 설명합니다. 앱은 Python 3.11 및 Databricks Connect 15.4.*를 사용하여 서버리스 컴퓨팅에서 실행됩니다. 다른 버전을 사용하려면 Python 버전 및 Databricks Connect 버전이 호환되어야 합니다. Databricks Connect 버전을 참조하세요.
팁 (조언)
Databricks Connect를 사용하는 고급 샘플 앱은 Databricks Demos GitHub 리포지토리 참조하세요.
요구 사항
- Databricks 작업 영역 및 로컬 개발 환경은 Databricks 앱에 대한 요구 사항을 충족해야 합니다. Databricks Apps 작업 영역 및 개발 환경 설정을 참조하세요.
- Databricks 작업 영역에는 Unity 카탈로그를 사용하도록 설정하고 서버리스 컴퓨팅 을 사용할 수 있어야 합니다(Unity 카탈로그를 사용하는 작업 영역에서 기본적으로 사용).
- Databricks CLI 버전 0.250.0 이상이 로컬 컴퓨터에 설치됩니다. 설치된 Databricks CLI 버전을 확인하려면
databricks -v명령을 실행합니다. Databricks CLI를 설치하려면 Databricks CLI 설치 또는 업데이트를 참조하세요. - Python 3.11이 로컬 컴퓨터에 설치됩니다.
1단계: 인증 및 서버리스 컴퓨팅 구성
이 자습서에서는 Databricks 작업 영역에 인증하기 위해 서버리스 컴퓨팅 및 Databricks OAuth U2M(사용자-컴퓨터) 인증 및 Databricks 구성 프로필을 사용합니다.
Databricks CLI를 사용하여 다음 명령을 실행하여 OAuth 로그인을 시작합니다. 프로필 이름으로 DEFAULT을(를) 사용하고 화면 지침을 따라 Databricks 작업 영역에 로그인합니다.
databricks auth login --configure-serverless --host <workspace-url>
2단계: 앱 만들기
이제 작업 영역에서 Databricks 앱을 만듭니다.
Databricks 작업 영역에서 왼쪽 사이드바에서 + 새>앱을 클릭합니다.
템플릿에서 설치에서 대시 탭으로 이동합니다.
Hello World 템플릿을 선택합니다.
앱의 이름을 dash-hello-world로 지정하고 설치를 클릭합니다.
그러면 선택한 템플릿을 기반으로 새 앱이 만들어지고, 작업 영역에 배포되고, 시작됩니다. 앱을 보려면 개요 페이지의 맨 위에 있는 실행 URL을 클릭합니다.
3단계: 로컬 컴퓨터에 앱 복사
다음으로, 로컬 컴퓨터에 앱 소스 코드를 다운로드합니다.
앱 페이지의 파일 동기화 에서 첫 번째 명령을 복사합니다.
로컬 터미널에서 디렉터리를
dash-hello-world만든 다음 복사된 명령을 실행합니다. 예를 들면 다음과 같습니다.mkdir dash-hello-world cd dash-hello-world databricks workspace export-dir /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_01-18_38/dash-hello-world-app .
이 명령은 두 개의 새 파일을 app.py와 app.yaml라는 이름의 디렉터리에 복사합니다.
app.yaml 는 진입점 및 권한을 포함하여 앱의 구성을 정의합니다.
app.py 에는 앱의 기능 및 사용자 인터페이스를 구현하는 코드가 포함되어 있습니다.
4단계: Databricks Connect 추가
Databricks 앱에 대한 Python 가상 환경을 만들고 databricks-connect 요구 사항으로 추가합니다.
프로젝트 폴더의 루트에 호출
.myvenv된 가상 환경을 만들고 활성화합니다.python3.11 -m venv .myvenv source .myvenv/bin/activate프로젝트에서
requirements.txt의 앱 종속성을 업데이트합니다.databricks-connect==15.4.*추가:dash== 3.3.* dash-bootstrap-components==2.0.* pandas plotly==6.5.* databricks-sql-connector databricks-sdk python-dotenv dash-ag-grid databricks-connect==15.4.*가상 환경 내에
requirements.txt의 종속성을 설치합니다.pip install -r requirements.txt
5단계: 앱 수정 및 로컬 테스트
로컬에서 앱을 사용자 지정하고 개발합니다.
Databricks Connect를 사용하여 Databricks에서 데이터를 읽도록 업데이트
app.py하고 Apache Spark를 활용하여 데이터 변환을 수행합니다. 또한 코드를 추가하여 데이터를 대화형으로 만들고, 스타일 지정 옵션을 추가하고, 데이터 업로드를 허용합니다.# app.py import pandas as pd from dash import Dash, dcc, html import plotly.express as px import dash_bootstrap_components as dbc from databricks.connect.session import DatabricksSession from pyspark.sql.functions import col spark = DatabricksSession.builder.serverless().getOrCreate() # Data transformations with Spark in Python df = (spark.read.table("samples.nyctaxi.trips") .select('trip_distance', 'fare_amount') .filter(col('trip_distance') < 10) .limit(1000)) chart_data = df.toPandas() # Initialize the Dash app with Bootstrap styling dash_app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP]) # Define the app layout dash_app.layout = dbc.Container([ dbc.Row([dbc.Col(html.H1('Trip cost by distance'), width=12)]), dcc.Graph( id='fare-scatter', figure=px.scatter(chart_data, x='trip_distance', y='fare_amount', labels={'trip_distance': 'Trip distance (miles)', 'fare_amount': 'Fare amount (USD)'}, template='simple_white'), style={'height': '500px', 'width': '1000px'} ) ], fluid=True) if __name__ == '__main__': dash_app.run(debug=True)로컬에서 앱을 실행하고 테스트합니다. Python 또는 Databricks CLI를 사용하여 실행할 수 있습니다.
Python 앱을 실행합니다.
python app.py브라우저 창으로 이동하여
http://127.0.0.1:8050/앱을 봅니다.또는 명령을 사용하여
databricks apps run-local앱을 실행하고 디버그합니다. 이 명령은 모든 종속성을 설치하고 가상 환경을 준비한 다음 포트 5678에서 앱과 디버거를 시작합니다.databricks apps run-local --prepare-environment --debug브라우저 창으로 이동하여 http://localhost:8001 앱을 봅니다.
Visual Studio Code 중단점을 설정하려면 Python 디버거 확장을 설치한 다음 Run>Start Debugging>Remote Attach로 이동합니다.
6단계: 앱 다시 배포
마지막으로 로컬로 수정된 앱을 Databricks 작업 영역에 업로드하고 컴퓨팅에 배포합니다.
중요합니다
전체 Python 가상 환경을 Databricks에 업로드하지 않도록 하려면 프로젝트에 .gitignore 있는 루트 또는 이러한 파일을 제외하는 .myvenv 폴더 내에 .myvenv 파일이 있어야 합니다.
Databricks 작업 영역에서 컴퓨팅, 앱을 차례로 클릭합니다.
dash-hello-world앱을 선택합니다.파일 동기화에서 이후 편집 내용을 Databricks로 다시 동기화하기 아래의 명령을 복사하고 로컬 앱 프로젝트 폴더에서 실행합니다.
databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app수정된 앱을 컴퓨팅에 배포하려면 앱 페이지의 Databricks 앱에 배포 아래의 명령을 복사하여 로컬 앱 프로젝트 폴더에서 실행합니다.
databricks apps deploy dash-hello-world --source-code-path /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
배포에 성공하면 명령에서 확인 JSON을 출력합니다.
{
"create_time": "2025-12-06T01:30:16Z",
"creator": "someone@example.com",
"deployment_artifacts": {
"source_code_path": "/Workspace/Users/1234abcd-5678-90ab-cdef-123456abcdef/src/abcd1234efgh5678ijkl9012mnop3456"
},
"deployment_id": "abcd1234efgh5678ijkl9012mnop3456",
"mode": "SNAPSHOT",
"source_code_path": "/Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app",
"status": {
"message": "App started successfully",s
"state": "SUCCEEDED"
},
"update_time": "2025-12-06T01:30:20Z"
}