Databricks Apps の使用を開始する
プレビュー
Databricks Apps は パブリック プレビュー段階です。
この記事は、ローカル開発環境で簡単なアプリを作成し、そのアプリを Databricks ワークスペースにデプロイする手順の例を使用して、Databricks Apps の使用を開始するのに役立ちます。 この例では、次の操作について説明します。
- アプリをローカルで作成してテストします。
- ローカルでテストした後、Databricks CLI を使用してアプリを Databricks ワークスペースに追加します。
- ワークスペースでアプリの詳細ページを表示する。
- アプリのソース コードとアーティファクトをワークスペースにコピーします。
- ワークスペースでアプリの出力を表示する。
例をステップ実行する前に、Databricks ワークスペースとローカル開発環境が 要件を満たしていることを確認してください。
Databricks では、アプリの開発時に Python 仮想環境を使用することをお勧めします。 この記事の例では、 pipenv を使用して仮想環境を作成します。 詳細については、「 Python Virtual Environments: 入門」を参照してください。
この例は、Databricks アプリ テンプレート ライブラリでも使用できます。 「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
を使用しています。Pythonimport 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
という名前のファイルに保存します。YAMLcommand: ['python', '<app-name.py>']
<app-name.py>
を、アプリのコードを含む Python ファイルの名前に置き換えます。たとえば、app.py
.
ステップ3: アプリをローカルでテストしてください
-
アプリをローカルでテストするには、ターミナルを開いて
python <app-name.py>
を実行し、<app-name.py>
をアプリのコードを含むファイルの名前に置き換えます。Bashpython app.py
Running on local URL: http://127.0.0.1:7860
... -
アプリの出力を表示するには、ブラウザウィンドウで
http://127.0.0.1:7860
を開きます。
手順 4: アプリをワークスペースにデプロイする
ワークスペースに新しいアプリを作成し、ローカル環境からワークスペースにコードをデプロイするには、ターミナルを開き、次の手順を実行します。
- Databricks ワークスペースにアプリを作成します。
-
Databricks アプリに割り当てられた名前は、アプリの作成後に変更することはできず、Databricks ワークスペースにアクセスできるすべてのユーザーは、ワークスペース内のすべての Databricks アプリの名前とデプロイ履歴を確認できます。 さらに、アプリ名はシステムテーブルに書き込まれるレコードに含まれます。 この可視性のため、Databricks アプリに名前を付けるときに機密情報を含めないでください。
-
名前は、アプリをホストする Databricks ワークスペース内で一意である必要があり、小文字、数字、ハイフンのみを含める必要があります。
databricks apps create <app-name>
<app-name>
をアプリの名前に置き換えてください。 たとえば、 gradio-hello-world
.
2. create
コマンドの完了時にワークスペースにアプリを表示するには、サイドバーで「 コンピュート 」をクリックし、「 アプリ」タブに移動して、「 名前 」列でアプリへのリンクをクリックします。
3. ローカル環境から Databricks ワークスペースにファイルを同期します。 ローカル環境からワークスペースにファイルを同期するコマンド (ファイルのワークスペース パスを含む) は、 ソース ファイルを Databricks に同期する ] の下にあります。 [
] をクリックして、このコマンドをコピーします。
- ターミナルで、アプリ ファイルが含まれているディレクトリに切り替えて、コピーした
sync
コマンドを実行します。
databricks sync
コマンドで転送したくない特定のファイルまたはディレクトリがローカル app ディレクトリにある場合は、それらのファイルまたはディレクトリをローカル app ディレクトリの .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 でアプリを作成するにはどうすればよいですか?」を参照してください。