2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

以前こちらの記事を書きました。

しかし、当時は日本リージョンでは利用できていませんでした。が、今回ついにAWS東京リージョンでDatabricks Appsが利用できるようになりました!

ということで、改めてDatabricks Appsのご紹介をさせてください。マニュアルはこちらです。

Databricks Appsは、データやAIを活用したアプリケーションをDatabricksプラットフォーム上で直接構築・デプロイできる新機能です。従来必要だった個別のインフラストラクチャ管理が不要となり、Unity CatalogやDatabricks SQLなどの既存サービスとシームレスに統合できます。PythonやNode.jsの主要フレームワークに対応し、インタラクティブなダッシュボードからRAGチャットアプリまで、幅広い内部ツールの開発が可能です。サーバレス環境でホストされるため、セキュリティやコンプライアンスの心配も軽減され、開発者はビジネスロジックに集中できます。

機能概要

Databricks Appsは、Databricksプラットフォーム上でデータアプリケーションやAIアプリケーションを構築・運用するための統合開発環境です。

主な特徴

特徴 説明
サーバレスホスティング Databricksサーバレスプラットフォームで自動的にホスト
プラットフォーム統合 Unity Catalog、Databricks SQL、モデルサービングなどと連携
多言語対応 PythonとNode.jsの両方をサポート
セキュリティ OAuthとサービスプリンシパルによる認証・承認
ワークスペース間移動 開発環境から本番環境へのスムーズな移行

サポートされているフレームワーク

Python系フレームワーク:

  • Streamlit (データ可視化アプリケーション)
  • Dash (インタラクティブダッシュボード)
  • Gradio (機械学習デモアプリ)

Node.js系フレームワーク:

  • React (フロントエンド)
  • Angular (エンタープライズアプリ)
  • Svelte (軽量フロントエンド)
  • Express (バックエンドAPI)

メリット、嬉しさ

1. インフラ管理からの解放

従来のアプリケーション開発では、以下のような課題がありました:

[従来の開発]
アプリ開発 → インフラ構築 → セキュリティ設定 → デプロイ → 運用監視
    ↓           ↓             ↓              ↓          ↓
  時間がかかる  専門知識必要   リスクあり     複雑      負担大

[Databricks Apps]
アプリ開発 → デプロイ
    ↓          ↓
  本質に集中   簡単・高速

2. Databricksエコシステムとの深い統合

統合サービス 実現できること
Unity Catalog データガバナンスを維持したまま安全にデータアクセス
Databricks SQL 高速なデータクエリとリアルタイム分析
モデルサービング 機械学習モデルの簡単な組み込み
Lakeflow ETLパイプラインとの連携・自動化

3. 開発生産性の向上

  • ローカル開発環境からそのままデプロイ可能
  • 複雑なCI/CDパイプラインの構築不要
  • ワークスペース間での簡単な移動とデプロイ

使い方の流れ

ステップ1: 開発環境の準備

# Python環境の場合
pip install streamlit pandas databricks-sdk

# Node.js環境の場合
npm install react express @databricks/sdk

ステップ2: アプリケーションの開発

例: Streamlitでのシンプルなデータ可視化アプリ

import streamlit as st
import pandas as pd
from databricks import sql

# Databricks SQLへの接続
connection = sql.connect(
    server_hostname = "your-workspace.cloud.databricks.com",
    http_path = "/sql/1.0/warehouses/your-warehouse-id",
    access_token = "your-access-token"
)

# データの取得と表示
st.title("売上データダッシュボード")
df = pd.read_sql("SELECT * FROM sales_data", connection)
st.dataframe(df)
st.bar_chart(df['monthly_sales'])

ステップ3: デプロイメント

# Databricks CLIを使用したデプロイ
databricks apps deploy --app-name my-dashboard --path ./app

ステップ4: アクセスと共有

デプロイ完了後、自動的に生成されるURLからアプリケーションにアクセス可能:

https://your-workspace.cloud.databricks.com/apps/my-dashboard

注意点

1. 制限事項

制限項目 詳細
ファイルサイズ 単一ファイル10MB以下
ログの保持 コンピュートリソース終了時に削除
ワークスペース Standardレベルでは利用不可
アプリ数 ワークスペースごとに上限あり

2. セキュリティ考慮事項

  • ユーザー認証で付与した同意は取り消し不可
  • 適切なアクセス権限の設計が重要
  • サービスプリンシパルの管理に注意

3. 開発時の推奨事項

推奨される開発フロー:
1. ローカル環境でテスト
2. 開発ワークスペースでデプロイ
3. 動作確認後、本番ワークスペースへ移行

まとめ

Databricks Appsは、データとAIを活用したアプリケーション開発の敷居を大幅に下げる画期的な機能です。インフラ管理の負担から解放され、Databricksの強力なデータ処理能力と直接統合できることで、開発者はビジネス価値の創出に集中できます。

特に、内部ツールやダッシュボード、データ入力フォーム、RAGチャットアプリなど、組織内で使用するアプリケーションの開発に適しています。PythonとNode.jsの両方をサポートしているため、既存のスキルセットを活かしながら、高度なデータアプリケーションを構築できます。

制限事項や注意点を理解した上で活用すれば、データドリブンな意思決定を支援する強力なツールとなるでしょう。

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?