🤖

Databricks Free Editionを使ってDatabricks Appsにアプリをデプロイする

に公開

この記事でやること

Databricks Free Editionがリリースされ、無料でDatabricks環境を試せるようになりました。

この記事では、Databricks Appsを使ってWebアプリケーションをデプロイする手順を、自作のDatabricks料金試算アプリを使いながら解説します。

記事の概要

  • 対象読者: Databricks Appsのデプロイ手順を確認したい方
  • 前提知識: 基本的なWeb操作(コマンドライン操作は不要)
  • 費用: 無料(Databricks Free Edition使用)

ステップ1: 環境準備

1-1. Databricks Free Editionアカウント作成

以下の手順で、Databricksの無料アカウントを作成します。

  1. ブラウザで Databricks Free Edition にアクセス
  2. 希望のサインアップ方法を選択
  3. アカウント名を入力、ロケーションを選択
  4. Databricksのワークスペースにログインできることを確認

Databricks Free Editionの詳細や制限については公式ドキュメントをご確認ください

ステップ2: Databricks料金試算アプリのソース取得

2-1. ソースのダウンロード

Databricks Appsにデプロイするアプリのサンプルとして、Databricks料金試算アプリを使用します。

今回はGUIを使ってデプロイしていくので、GitHubからソースコードをダウンロードします。
(デプロイしてみたいアプリがある場合はそちらをご利用ください)

  1. Databricks料金試算アプリのGitHubページにアクセス
  2. [Code] ボタンをクリック
  3. [Download ZIP] を選択してソースコードをダウンロード

2-2. (参考)アプリの機能確認

デプロイするアプリは、AWSでDatabricksを利用する場合のコストを試算するためのものとなります。(正確な価格情報はAWS、Databricksの公式情報をご参照ください)

🔧 主な機能

  • コンピュートクラスター料金計算: インスタンスタイプ別の時間単価・月額計算
  • SQL Warehouse料金計算: サイズ別の料金見積もり
  • 料金比較: 複数のインスタンスタイプの比較
  • データ出力: CSV/Excel形式でのエクスポート

ステップ3: Databricks Appsデプロイ

アプリをDatabricks Appsにデプロイします。

3-1. 新規アプリの作成

  1. 左側のサイドバーから「+ 新規」または「+ Create」をクリックし、「App(アプリ)」を選択します

  2. 「カスタムアプリを作成」を選択します
    (ChatbotやData appなどのテンプレートも利用できますが、今回はカスタムアプリを使用します)

  3. 新しいアプリを作成画面で、アプリ名を入力します。今回はサンプルアプリの名前に合わせて「databricks-cost-calculator」と入力してください

  4. 「アプリを作成」ボタンをクリックします

  5. アプリ用のコンピュートが立ち上がります(数分かかると思います)

3-2. ファイルのアップロードとデプロイ

ここまでの作業でアプリのコンピュートが立ち上がりましたが、アプリファイルはまだデプロイされていません。

デプロイに必要なファイルをアップロードしていきます。

  1. Databricksのワークスペース画面で、ホームフォルダを開きます

  2. 画面右上の「共有」ボタンの隣にある ⋮(縦向き三点リーダ)メニューから「インポート」を選択しましょう

  3. ステップ2-1でダウンロードしたZIPファイルをアップロードしましょう

  4. ワークスペースにフォルダが追加されたことを確認しましょう

  5. サイドバーの「Compute(コンピュート)」をクリックし、「Apps」タブに移動しましょう

  6. アプリ名「databricks-cost-calculator」をクリックし、アプリの概要画面が表示されたら、右上の「デプロイ」ボタンをクリックしましょう

  7. デプロイするフォルダ選択画面で、アップロードしたフォルダの配下にある「src」フォルダを選択し、「選択」→「Deploy」と進めましょう

    ⚠️ 重要: プロジェクトのルートフォルダではなく、必ず「src」フォルダを指定してください。ルートフォルダを指定するとデプロイ時にエラーになります。

  8. デプロイが完了すると、アプリのステータスが「実行中」になります

ステップ4. アプリの動作確認

デプロイが成功したら、アプリにアクセスしてみましょう。

  1. アプリ詳細画面に表示されるURLをクリックすると、ブラウザでアプリを開いて動作を確認できます

  2. Databricks料金計算アプリが表示されます

アプリの使用例

実際にアプリを使って料金を計算してみましょう!

  1. 画面左側のペインで、想定するワークロードを入力しましょう

  2. 例:開発者1名が1日8時間、All Purposeコンピュートをr6idn.xlarge(4 vCPU, 32GiB)をExecutor2台(合計3台のクラスタ)で月20日動かす場合
    → 月間利用費用:約 $546 と算出されます

  1. ワークロードは複数追加することができ、以下のような組み合わせも可能です:

    • Jobクラスタでのバッチ処理
    • DLT(Delta Live Tables)利用時のワークロード
    • SQL Warehouse のServerless利用

    補足: Serverlessの利用を推奨したいところですが、計算のしやすさを考慮してSQL Warehouse以外はクラシックコンピュートを前提にしています。

5. Databricks CLIを使える方向け

ここからは Databricks CLIを使ったデプロイの案内です。(少し雑)

  1. 事前準備
  • Databricks CLIを使ってDatabricks料金計算アプリをDatabricks Appsにデプロイします
  • Free EditionでもPATが発行可能なので、CLIで設定しておきます
  1. アプリの作成:Databricks Appsのアプリを新規作成するところは、3-1. 新規アプリの作成 と同じです

  2. プロジェクトをクローン: Databricks料金計算アプリのソースをクローンします

    # プロジェクトをクローン
    git clone https://github.com/yoshitaka903/databricks-cost-calculator.git
    cd databricks-cost-calculator
    
    # srcディレクトリに移動(デプロイ対象)
    cd src
    
  3. ワークスペースにファイルをアップロード

    # ワークスペースにディレクトリをインポート
    # YOUR_EMAILの部分は適宜読み替える
    databricks workspace import-dir . /Workspace/Users/YOUR_EMAIL/databricks-cost-calculator --overwrite
    
  4. デプロイ

    # 初回デプロイ(アプリ作成とデプロイを同時に実行)
    databricks apps deploy databricks-cost-calculator --source-code-path /Workspace/Users/YOUR_EMAIL/databricks-cost-calculator
    
    # 後続のデプロイ(更新時はファイルアップロード後に実行)
    databricks workspace import-dir . /Workspace/Users/YOUR_EMAIL/databricks-cost-calculator --overwrite
    databricks apps deploy databricks-cost-calculator
    
  5. デプロイが成功した際の出力例(一部):

    "status": {
        "message":"App started successfully",
        "state":"SUCCEEDED"
      },
    
  6. デプロイ状況の確認方法

    # アプリ一覧表示
    databricks apps list
    
    # アプリの状態確認
    databricks apps get databricks-cost-calculator
    

完了!

Free Editionの登場により、誰でも気軽にDatabricksを体験できるようになりました。ぜひ他の機能も試してみてください!

参考リンク


おまけ. Databricks料金試算アプリをローカルで動作確認する

ローカル環境で今回使ったDatabricks料金試算アプリを動かしたい場合。

# 依存関係をインストール
pip install -r requirements.txt

# Streamlitアプリを起動
streamlit run app.py

ブラウザで http://localhost:8501 にアクセス:

  • インスタンス選択機能が動作する
  • 料金計算が正しく表示される
  • サイドバーの設定が正常に動作する

を確認してください

Discussion