開始使用 Databricks Apps
重要
Databricks Apps 處於 公開預覽狀態。
本文可協助您使用逐步範例開始使用 Databricks Apps,以在本機開發環境中建立簡單的應用程式,並將應用程式部署至 Azure Databricks 工作區。 此範例會逐步引導您完成:
- 在本機建立及測試應用程式。
- 在本機測試之後,使用 Databricks CLI 將應用程式新增至 Azure Databricks 工作區。
- 在工作區中檢視應用程式的詳細數據頁面。
- 將應用程式的原始程式碼和成品複製到您的工作區。
- 在工作區中檢視應用程式的輸出。
逐步執行範例之前,請確定您的 Azure Databricks 工作區和本機開發環境符合 需求。
Databricks 建議在開發應用程式時使用 Python 虛擬環境。 本文中的範例會使用 pipenv 來建立虛擬環境。 若要深入瞭解,請參閱 Python 虛擬環境:入門。
此範例也可在 Databricks Apps 範本連結庫中取得。 請參閱 如何? 在 Databricks Apps UI 中建立應用程式?。
步驟 1:設定本機環境
開啟終端機,然後執行下列命令以:
- 建立並啟動 Python 虛擬環境。
- 安裝範例應用程式所需的 Python 連結庫。
- 為應用程式的來源和組態檔建立本機目錄。
pipenv --python 3.11
pipenv shell
pip install gradio
pip install pandas
mkdir <app-dir-name>
cd <app-dir-name>
以應用程式檔案的本機目錄名稱取代 <app-dir-name>
,例如 gradio-hello-world
。
步驟 2:新增應用程式的來源和設定
在文本編輯器或您慣用的集成開發環境 (IDE) 中,使用下列程式代碼建立新的 Python 檔案,並將它儲存至您所建立的目錄。 此範例使用 Python 檔案的檔案名稱
app.py
:import gradio as gr import pandas as pd data = pd.DataFrame({'x': [x for x in range(30)], 'y': [2 ** x for x in range(30)]}) # Display the data with Gradio with gr.Blocks(css='footer {visibility: hidden}') as gradio_app: with gr.Row(): with gr.Column(scale=3): gr.Markdown('# Hello world!') gr.ScatterPlot(value=data, height=400, width=700, container=False, x='x', y='y', y_title='Fun with data', x_title='Apps') if __name__ == '__main__': gradio_app.launch()
在文字編輯器或 IDE 中,使用下列內容建立新的 YAML 檔案,並將它儲存至您在所建立目錄中名為
app.yaml
的檔案:command: [ "python", "<app-name.py>" ]
將取代
<app-name.py>
為包含應用程式程式代碼的 Python 檔名。 例如:app.py
。
步驟 3:在本機測試您的應用程式
若要在本機測試您的應用程式,請開啟終端機並執行
python <app-name.py>
,並將 取代<app-name.py>
為包含應用程式程式代碼的檔名。python app.py Running on local URL: http://127.0.0.1:7860 ...
若要檢視應用程式的輸出,請在瀏覽器視窗中開啟
http://127.0.0.1:7860
。
步驟 4:將應用程式部署至工作區
若要在工作區中建立新的應用程式,並將程式代碼從本機環境部署到工作區,請開啟終端機並完成下列步驟。
在 Azure Databricks 工作區中建立應用程式。
注意
- 在建立應用程式之後,無法變更指派給 Databricks 應用程式的名稱,而且任何具有 Azure Databricks 工作區存取權的使用者都可以查看工作區中所有 Databricks 應用程式的名稱和部署歷程記錄。 此外,應用程式名稱會包含在寫入系統數據表的記錄中。 由於此可見度,您不應該在命名 Databricks 應用程式時包含敏感性資訊。
- 此名稱在裝載應用程式的 Azure Databricks 工作區中必須是唯一的,而且必須只包含小寫字母、數位和連字元。
databricks apps create <app-name>
將取代
<app-name>
為應用程式的名稱。 例如:gradio-hello-world
。若要在命令完成時
create
檢視工作區中的應用程式,請在提要欄中按兩下 [計算],移至 [應用程式] 索引標籤,然後按兩下 [名稱] 資料行中應用程式的連結。將檔案從本機環境同步至 Azure Databricks 工作區。 將檔案從本機環境同步至工作區的命令,包括檔案的工作區路徑,位於 [將來源檔案同步至 Databricks] 底下。 按兩下 即可複製此命令。
在終端機中,切換至包含您應用程式檔案的目錄,然後執行複製的
sync
命令。注意
如果您的本機應用程式目錄中有您不想由
databricks sync
命令傳輸的特定檔案或目錄,請將這些檔案或目錄新增至.gitignore
本機應用程式目錄中的檔案。 例如,如果您在與應用程式相同的目錄中有 Python 虛擬環境目錄,請將目錄的名稱新增至.gitignore
檔案,而sync
命令會在傳輸檔案時略過該目錄。databricks sync --watch . /Workspace/Users/user@databricks.com/gradio-hello-world ... Initial Sync Complete
若要在命令完成時
sync
檢視工作區中的同步檔案,請按下提要字段中的 [工作區],然後移至為您的應用程式建立的目錄。若要部署應用程式,請在終端機中執行下列命令,並將 取代
<app-path>
為應用程式檔案的工作區路徑。databricks apps deploy gradio-hello-world --source-code-path <app-path>
若要檢視部署狀態,請移至應用程式的詳細數據頁面。
若要檢視已部署應用程式的輸出,請單擊詳細數據頁面上應用程式名稱下方的應用程序連結。
下一步
若要瞭解如何在 Databricks Apps UI 中建立應用程式,請參閱 如何? 在 Databricks Apps UI 中建立應用程式?。