Databricks Appsの使用を開始する

プレビュー

Databricks Apps は パブリック プレビュー段階です。

この記事では、アプリを開発するためにローカル開発環境を設定する方法について説明し、最初のアプリをビルドしてデプロイする方法をステップバイステップの例で示します。

要件

Databricks ワークスペースでアプリをデプロイして実行するには、ファイアウォールがドメイン *.databricksapps.comをブロックしていないことを確認する必要があります。

Databricks アプリをローカルに作成し、それらのアプリを Databricks ワークスペースにデプロイするには、開発環境が次の要件を満たしている必要があります。

  • Python 3.11 以降。

  • Databricks CLI バージョン 0.229.0 以降で、Databricks ワークスペースにアクセスするように構成されています。 Databricks CLI をインストールまたは更新および構成するには、「 Databricks CLI のインストールまたは更新 」および 「Databricks CLI の認証」を参照してください。

  • Databricks SDK for Python。 SDKは pip3でインストールできます。

    pip3 install databricks-sdk

    「Databricks SDK for Python」を参照してください。

  • (オプション)アプリで Databricks SQL にアクセスする必要がある場合は、Databricks SQL Connector for Python をインストールします。 コネクタは次のようにインストールできますpip3

    pip3 install databricks-sql-connector

  • Databricks では、アプリの開発時に Python 仮想環境を使用することをお勧めします。 この記事の例では、 pipenv を使用して仮想環境を作成します。 「Python 仮想環境」を参照してください。

初めての Databricks アプリを作成してデプロイする

次のステップでは、ローカル開発環境で簡単なアプリを作成し、そのアプリを Databricks ワークスペースにデプロイする手順について説明します。 この例では、次の操作について説明します。

  • アプリをローカルで作成してテストします。

  • ローカルでテストした後、Databricks CLI を使用してアプリを Databricks ワークスペースに追加します。

  • ワークスペースでアプリの詳細ページを表示する。

  • アプリのソース コードと成果物をワークスペースにコピーします。

  • ワークスペースでアプリの出力を表示する。

ステップ 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: アプリのソースと設定を追加する

  1. テキスト エディターまたはお気に入りの統合開発環境 (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()
    
  2. テキストエディタまたはIDEで、次の内容で新しいYAMLファイルを作成し、作成したディレクトリ内の app.yaml という名前のファイルに保存します。

    command: [
      "python",
      "<app-name.py>"
    ]
    

    <app-name.py> を、アプリのコードを含む Python ファイルの名前に置き換えます。たとえば、 app.py.

ステップ 3: アプリをローカルでテストする

  1. アプリをローカルでテストするには、ターミナルを開いて python <app-name.py>を実行し、 <app-name.py> をアプリのコードを含むファイルの名前に置き換えます。

    python app.py
    Running on local URL:  http://127.0.0.1:7860
    ...
    
  2. アプリの出力を表示するには、ブラウザー ウィンドウで http://127.0.0.1:7860 を開きます。

    hello world アプリの出力をローカルで表示する

ステップ 4: アプリをワークスペースにデプロイする

ワークスペースに新しいアプリを作成し、ローカル環境からワークスペースにコードをデプロイするには、ターミナルを開いて次の手順を実行します。

  1. Databricks ワークスペースにアプリを作成します。

    注:

    • Databricks アプリに割り当てられた名前は、アプリの作成後に変更することはできず、Databricks ワークスペースにアクセスできるすべてのユーザーは、ワークスペース内のすべての Databricks アプリの名前とデプロイ履歴を確認できます。 さらに、アプリ名はシステムテーブルに書き込まれるレコードに含まれます。 この可視性のため、Databricks アプリに名前を付けるときに機密情報を使用しないでください。

    • Databricks アプリの名前はデプロイされたアプリへのリンクを作成するために使用されるため、名前には URL で有効な文字のみを使用する必要があります。

    databricks apps create <app-name>

    <app-name> をアプリの名前に置き換えます。たとえば、 gradio-hello-world.

  2. コマンドの完了時にワークスペースにアプリを表示するには、サイドバーで[コンピュート] をクリックしcreate コンピュートアイコン、[ アプリ] タブに移動して、[ 名前] 列でアプリへのリンクをクリックします。

    アプリの作成後にアプリの詳細ページを表示する
  3. ローカル環境から Databricks ワークスペースにファイルを同期します。 ローカル環境からワークスペースにファイルを同期するコマンド (ファイルのワークスペース パスを含む) は、 ソース ファイルを Databricks に同期する] の下にあります。 クリック コピーアイコン すると、このコマンドがコピーされます。

  4. ターミナルで、アプリ ファイルが含まれているディレクトリに切り替えて、コピーした sync コマンドを実行します。

    databricks sync --watch . /Workspace/Users/user@databricks.com/gradio-hello-world
    ...
    Initial Sync Complete
    
  5. syncコマンドの完了時にワークスペース内の同期ファイルを表示するには、サイドバーのワークスペースアイコン 「ワークスペース 」をクリックし 、アプリ用に作成されたディレクトリに移動します。

  6. アプリをデプロイするには、ターミナルで次のコマンドを実行し、 <app-path> をアプリ ファイルへのワークスペース パスに置き換えます。

    databricks apps deploy gradio-hello-world <app-path>

  7. デプロイの状態を表示するには、アプリの詳細ページに移動します。

    アプリのデプロイ後にアプリの詳細ページを表示する

    デプロイされたアプリの出力を表示するには、詳細ページのアプリ名の下にあるアプリのリンクをクリックします。

    デプロイされたアプリへのリンク

次のステップ

Databricks Apps UI でアプリを作成する方法については、「 Databricks Apps UI でアプリを作成するにはどうすればよいですか?」を参照してください。