Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
初めてのDatabricks Apps開発
Search
Takaaki Yayoi
October 19, 2025
Technology
0
12
初めてのDatabricks Apps開発
Databricks Appsのハンズオン資料です。
- イントロダクション
- 主要コンセプト
- デプロイメント
- ベストプラクティス
- Databricks Appsハンズオン
- Q&A
Takaaki Yayoi
October 19, 2025
Tweet
Share
More Decks by Takaaki Yayoi
See All by Takaaki Yayoi
日本語で指示するだけ!AIで業務効率化を実現する 〜90分で体感する実践ワークショップ〜
taka_aki
0
1.7k
Apache Spark もくもく会
taka_aki
1
230
はじめてのDatabricks (2025年7月版)
taka_aki
0
120
生成AIによるデータサイエンスの変革
taka_aki
0
3.2k
生成AIによる情報システムへのインパクト
taka_aki
1
320
JEDAI Databricks Free Editionもくもく会
taka_aki
1
220
15分で作るDatabricksと生成AIエージェント
taka_aki
1
190
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
1
380
ハンズオンで学ぶ Databricks - はじめてのDatabricks
taka_aki
3
1.2k
Other Decks in Technology
See All in Technology
生成AI時代のセキュアコーディングとDevSecOps
yuriemori
0
110
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
1.4k
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
150
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
290
AI Agent Dojo #2 watsonx Orchestrateフローの作成
oniak3ibm
PRO
0
120
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
640
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
170
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
220
Introdução a Service Mesh usando o Istio
aeciopires
0
120
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
300
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Code Reviewing Like a Champion
maltzj
526
40k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Why Our Code Smells
bkeepers
PRO
340
57k
Navigating Team Friction
lara
190
15k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
Into the Great Unknown - MozCon
thekraken
40
2.1k
How GitHub (no longer) Works
holman
315
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Transcript
©2025 Databricks Inc. — All rights reserved Databricks Apps 1
初めてのDatabricks Apps開発 90分で学ぶ基本コンセプトと開発フロー 2025/10/17 Taka Yayoi
©2024 Databricks Inc. — All rights reserved 自己紹介 弥生 隆明
(やよい たかあき) シニア スペシャリスト ソリューションアーキテクト ▪ 2020年からデータブリックス ジャパンにお いて、プレセールス、POCに従事 ▪ 生成AI、データエンジニアリング、 アプリが専門領域です。 ▪ 前職はコンサル、総合電機メーカー にてデータ分析・Webサービス構築 などに従事。インド赴任経験あり。 ▪ Databricks Certified (Data Engineer | Machine Learning) Professional, Generative AI Engineer Associate ▪ Qiitaでいろいろ書いています。 2 @taka_aki
©2025 Databricks Inc. — All rights reserved アジェンダ 3 •
イントロダクション • 主要コンセプト • デプロイメント • ベストプラクティス • Databricks Appsハンズオン • Q&A
©2025 Databricks Inc. — All rights reserved イントロダクション 4
©2025 Databricks Inc. — All rights reserved アプリは特殊なリソースに起因したボト ルネックを引き起こし、 開発のペースをスローにし、長期にわ
たる維持管理を困難なものにします。 5 データアプリの構築と本番運用は困難でした アプリはレビューや試行錯誤によって デプロイに時間を要し、 多くの場合、市場への投入を遅延させ ます。迅速にデプロイするには、インフ ラストラクチャは複雑すぎます。 複雑 時間の浪費 背後のデータと個別にアプリを 管理することは、面倒でエラーの影響 を受けやすいものであり、 貧弱なガバナンスやセキュアでないア プリにつながります。 脆弱
©2025 Databricks Inc. — All rights reserved 他の技術を学ぶのではなく、開発者が すでに知っている技術を用いたシンプ ルなアプリ開発によって構築を容易に
します。 6 Databricks Appsのご紹介 ITは開発者が構築しているアプリのプ ロダクションの準備状況に高い自信を 持ち、それらをより迅速にデプロイし、 クイックに市場に 投入します。サーバレスによってインフ ラの管理は不要です。 シンプル プロダクションレディ Unity Catalog統合によりデータアプリ ケーションは本質的にセキュアで、適 切に管理され、より優れたセキュリティ を提供します。 ビルトインのガバナンス セキュアなデータアプリケーションをクイックに構築
©2025 Databricks Inc. — All rights reserved Dash、Gradio、Streamlitのような 馴染みのあるPythonフレームワークを使 用
Databricks環境で直接実行し、データやAI モデルへのシームレスなアクセスを実現 アプリのディレクトリで検索やフィルタリン グを用いることで内部アプリを発見 シンプル 7
©2025 Databricks Inc. — All rights reserved アプリは自動で配備されるサーバレス コンピュートで実行され、簡単なデプロ イメントを実現
Gitバージョン管理とCI/CDパイプライ ンのビルトインサポート 開発者が特定ユーザーに共有可能な デプロイメント固有のURLを生成 プロダクションレディ 8 dev 環境 CI 環境 prod ワーク スペース staging ワーク スペース dev ワーク スペース
©2025 Databricks Inc. — All rights reserved 正確なデータ権限を保証するきめ細かいアク セスコントロール セキュアなアプリ間通信のための
自動管理のサービスプリンシパル シームレスでセキュアなユーザー アクセスのためにOIDC/OAuth 2.0やSSOを 活用した自動ユーザー認証 ビルトインのガバナンス 9
©2025 Databricks Inc. — All rights reserved 主要コンセプト 10
©2025 Databricks Inc. — All rights reserved データサイエンティスト や データアプリ開発者
によって開発 セールス、マーケティング、財務、 その他の技術者以外のチーム が活用 11 Databricks Appsのペルソナ 👶
©2025 Databricks Inc. — All rights reserved 以下のようなケースにDatabricks Apps… •
ダッシュボードやノートブックでは不十分な時 • Databricksを離れることなしにお客様データの完全な価値を解放するために • Databricksネイティブサービスの上でアプリケーションを構築するために • カスタムの機能でDatabricksワークスペースを拡張するために 12
©2025 Databricks Inc. — All rights reserved アプリとは? 13 (主に)非技術ユーザー向けに
データとカスタムのツールを 提供するインタラクティブな プログラムです。 Example Plotly Dash apps
©2025 Databricks Inc. — All rights reserved ノートブック : 技術ユーザーにとっては素晴らしいです
が、非技術ユーザーにとってはそれほどでもありません ダッシュボード : ビジュアライゼーションは素晴 らしいですが、データのインタラクションは限 定的で、柔軟性に欠けます ノートブックやダッシュボードがあるのに なぜアプリ? 14
©2025 Databricks Inc. — All rights reserved 以下のようなアプリを構築したいならDatabricks Appsを使いましょう… …
and much more! インタラクティブ データアプリ 予測分析 生成AIアプリ 15
©2025 Databricks Inc. — All rights reserved Databricks Appsユースケース例 16
インタラクティブ データアプリ MLモデル インタフェース RAG チャットボット ビジネスプロセス 自動化 複雑な可視化 データ収集 フォーム データ / AIの レビュー & 承認 What-if分析 生成AI エージェント ノーコード アプリケーション ビルダー APIのUI などなど…
©2025 Databricks Inc. — All rights reserved Databricksのジャーニー 🚀 Phase
1 Spark クラウドにおける 完全なデータ サイエンス環境 どこからきたのか、どこに向かうのか Phase 2 Phase 3 Phase 4 Delta Lake Photon Unity Catalog レイクハウス 生成AI (LLM、エージェント ) Iceberg / UniForm アプリ AIネイティブアプリの開 発 アプリのマーケットプ レース Lakebase (OLTP) アプリによる加速 17
©2025 Databricks Inc. — All rights reserved アーキテクチャ 18 サーバレスコンピュート
コントロールプレーン クラシックコンピュート Customer VPC クラスター (ETLやAI) SQL ウェアハウス (DWHやBI) SQLウェアハウス (DWHやBI) Webアプリ Unity Catalog Workflow Manager Compute Manager ユーザー コンピュート ストレージ クラウドストレージ モデルサービング (リアルタイム ) Databricks Apps
©2025 Databricks Inc. — All rights reserved アプリのタイプ 19 フレームワーク
特徴 適用シーン Streamlit Pythonネイティブ、簡単 データアプリ、プロトタイプ Dash 高度なカスタマイズ可能 複雑なダッシュボード Gradio ML特化、デモ向け MLモデルのUI Flask/FastAPI 完全カスタム API、複雑なアプリ
©2025 Databricks Inc. — All rights reserved リソース 指定したリソースへのアクセスを 自動で許可
• アプリをデプロイするユーザーがアクセスを 許可する権限を持っている場合 • サービスプリンシパルに手動で権限を割り当てる ことも可能 リソースはアプリの新環境への移行を容易にし ます 20 アクセス許可をシンプルに
©2025 Databricks Inc. — All rights reserved シークレットの管理 シークレットへのアクセスを自動で許可 •
アプリをデプロイするユーザーがアクセスを許可 する権限を持っている場合 • サービスプリンシパルに手動で権限を 割り当てることも可能 21 外部サービスへのアクセスにDatabricks シークレット管理を活用
©2025 Databricks Inc. — All rights reserved テンプレート 22 GitHub
repoでも利用可能
©2025 Databricks Inc. — All rights reserved 典型的なコードフロー 23 Your
computer dev workspace Databricks App Git prod workspace Databricks App ソースコード ソースコード ソースコード デプロイ databricks sync デプロイ コードのスナップ ショット コードのスナップ ショット
©2025 Databricks Inc. — All rights reserved ログ 標準出力、標準エラーのログ コンピュートが停止すると削除
シークレットは検閲 デプロイメントタブも見ましょう 24 pipとアプリの両方から
©2025 Databricks Inc. — All rights reserved 価格 💰 25
標準キャパシティ: アプリあたり最大2 CPU • 0.5 DBU/hr • ~$0.375/hr on AWS & GCP • ~$0.475/hr on Azure • 上記の価格はプレミアムプランと新製品 プロモーション割引を反映しています • リージョンと利用可能性は異なる場合あり • 将来、異なるキャパシティを追加する可能性があり ます (4 CPUなど) 注意: アプリは停止するまで実行され続けます アプリのキャパシティに基づく 時間課金 請求には以下のように表示されます: • AWS: All-Purpose Serverless Compute • Azure: Interactive Serverless Compute システムテーブルには、アプリIDを含む各アプリの課 金エントリが記録されます Ref: https://www.databricks.com/product/pricing/compute-for-apps
©2025 Databricks Inc. — All rights reserved 価格 💰 26
入力: • アプリ: 1 • Cloud/SKU: AWSプレミアムプラン (時間あたりのアプリキャパシティあたり ~$0.375) • 1日の稼働時間 : 24時間 • 1年の日数: 365 合計年間コストとブレークダウン: 1 x $0.375 x 24 x 365 = $3,285 USD (# Apps x $SKU x hour x days) 考慮事項: • 通常のSKUディスカウントが適用 - PubPr期間中、2025/4/30までは30%のプロモーション ディスカウント • 一般的なサーバレスコスト (ネットワーキング) 1年間1つのDatabricksアプリを実行した際のコストの例
©2025 Databricks Inc. — All rights reserved ベストプラクティス 27
©2025 Databricks Inc. — All rights reserved 問題をデバッグするには? 🪲 28
• Databricks Appsは(まだ)あなた のコード内の論理的な問題を修 正することはできません • Copilot等のコーディングアシス タントを使用してください • アプリはデプロイ前に ローカルでテストできます • デバッグには標準的なローカル IDEを使用してください • 特定の動作をキャッチするため に詳細ログを追加ください • 起動時に環境変数の利用可能 性を確認してください • [JS/TSアプリ] CORSが適切に設 定されていることを確認してくだ さい • PATは不要です。 WorkspaceClientを使用すれ ば、魔法のようにに動作します。 • これをローカルのDocker コンテナで実行してください • すべての関連ファイルが アップロードされていることを確 認してください • コマンドが正しいフォルダで実行 されることを確認してください • 相対パスを確認してください コードの失敗 環境の設定ミス スタートアップ コマンドの問題
©2025 Databricks Inc. — All rights reserved - 異なる環境間でコード &
アセットの プロモートにCI/CDを使いましょう - クエリーをパラメータ化し、SQL インジェクションに注意しましょう - コードの脆弱性を特定するために、 regular static application security testing (SAST)を実施しましょう - 依存関係における脆弱性を特定し、必要に 応じてパッチを当てるために定期的な静的 解析を行いましょう - お使いのアプリフレームワーク(Gradio, Streamlit, Flask, Dash)に関係する ベストプラクティスに従いましょう ベストプラクティス - アプリのCan Manage権限を制限 しましょう - アプリのサービスプリンシパルに権限を 割り当てる際には、最小権限の原則に従 いましょう - アプリの作成者が退社した場合には、ア プリのサービスプリンシパルの資格情報 をローテーションしましょう - 資格情報を格納、参照するには シークレットを使いましょう - 疑わしいアクティビティのサインの 監査ログを監視しましょう SDLC ID - 重いデータ処理は、アプリでは なく、SQLウェアハウス、ジョブ、 モデルサービングで行いましょう。 - dev、staging、productionを分離する ために異なるワークスペースを使いま しょう - アウトバウンドトラフィックを制限するた めにサーバレスエグレス コントロールを使いましょう Databricks ほとんどのDatabricksベストプラクティスが適用されますが、追加があります 29
©2025 Databricks Inc. — All rights reserved 参考資料 • Databricks
Free Editionで始めるDatabricks Apps #DatabricksApps - Qiita • Databricks Apps | Databricks on AWS • Introduction | Databricks Apps Cookbook • databricks/app-templates
©2025 Databricks Inc. — All rights reserved Databricks Appsの デプロイメント
31
©2025 Databricks Inc. — All rights reserved Databricks Appのデプロイメント 32
ローカルIDEで の開発* 🔺 コードをワーク スペースに アップロード - app.py - app.yaml - requirements.txt (オプション) 🔨 UIでアプリ を作成** 🚛 UIでアプリ をデプロイ ** * ワークスペースエディタも使用可能ですが、推奨度は低いです ** 自動化およびCI/CD目的で利用可能なAPIがあります
©2025 Databricks Inc. — All rights reserved Databricks Appのデプロイメント 33
ローカルIDEで の開発* 🔺 コードをワーク スペースに アップロード - app.py - app.yaml - requirements.txt (オプション) 🔨 UIでアプリ を作成** 🚛 UIでアプリ をデプロイ ** * ワークスペースエディタも使用可能ですが、推奨度は低いです ** 自動化およびCI/CD目的で利用可能なAPIがあります 今日は割愛
©2025 Databricks Inc. — All rights reserved Databricks Appのデプロイメント 34
ローカルIDEで の開発* 🔺 ワークスペース でコードを作成 - app.py - app.yaml - requirements.txt (オプション) 🔨 UIでアプリ を作成** 🚛 UIでアプリ をデプロイ ** * ワークスペースエディタも使用可能ですが、推奨度は低いです ** 自動化およびCI/CD目的で利用可能なAPIがあります 今日のメイン
©2025 Databricks Inc. — All rights reserved Databricks Appsのファイル構造に注意が必要 無邪気にすべてのファイルをVibe
Codingするとアプリが壊れます 35 my-databricks-app/ │ ├── app.py # 💜 ビジネスロジック(メインアプリケーション) │ # - 環境変数を読み込んで実行 │ # - ローカル/本番で同じコード │ ├── databricks.yml # 💙 リソース宣言(何を使うか) │ # - SQLウェアハウス、シークレット等を定義 │ # - デプロイ時の設計図 │ ├── app.yaml # 💚 実行設定(どう動かすか) │ # - 起動コマンド │ # - 環境変数の設定(リソース参照) │ └── requirements.txt # 📦 Python依存関係 # - 必要なライブラリ
©2025 Databricks Inc. — All rights reserved コードでのプラットフォームリソースへの アクセス 1.
SQLウェアハウスのリソースキーを用いて、 app.yaml 設定ファイルでリソースのエントリーを追加します。これは、実際の値 ではなくパラメータ値のソースの参照なので、 value ではなく valueFrom を使います。 YAML env: - name: "DATABRICKS_WAREHOUSE_ID" valueFrom: "sql-warehouse" 2. あなたのアプリのコードでリソースを参照するには、設定されたキー値を参照するために nameフィールドの値(この例では DATABRICKS_WAREHOUSE_ID)を使います。 Python import os os.getenv('DATABRICKS_WAREHOUSE_ID' ) 36
©2025 Databricks Inc. — All rights reserved Databricks Appsのファイル構造に注意が必要 無邪気にすべてのファイルをVibe
Codingするとアプリが壊れます 37 my-databricks-app/ │ ├── app.py # 💜 ビジネスロジック(メインアプリケーション) │ # - 環境変数を読み込んで実行 │ # - ローカル/本番で同じコード │ ├── databricks.yml # 💙 リソース宣言(何を使うか) │ # - SQLウェアハウス、シークレット等を定義 │ # - デプロイ時の設計図 │ ├── app.yaml # 💚 実行設定(どう動かすか) │ # - 起動コマンド │ # - 環境変数の設定(リソース参照) │ └── requirements.txt # 📦 Python依存関係 # - 必要なライブラリ アプリケーションロジック、 GUIの変更 はapp.pyを明示的に編集するように ガ イドした方がいいです 環境変数はこちら ライブラリ SQLウェアハウスやエンドポイントなど のリソースはこちら。アプリ 作成時に定義しておく方がいいです
©2025 Databricks Inc. — All rights reserved ハンズオン(50分) 38
©2025 Databricks Inc. — All rights reserved アプリを作りましょう! 39 Lakebaseは日本で動かないので
以下の順でアプリを作成、デプロイ してみましょう: • Hello World • Data app • Chatbot Free Editionをお使いの場合はアプリ の個数に1個という制限 があるので 都度削除してください。停止では だめです。 streamlitでいきましょう(他のが慣れている場合にはそちらでも)。
©2025 Databricks Inc. — All rights reserved プロンプト集 40 全般
• 日本語表記にして Hello World • irisデータセットを読み込んでstreamlitで可視化 • このままではエラーになるはずなのでrequirements.txtにscikit-learnを追加 app.pyにフォーカスすることをお勧めします
©2025 Databricks Inc. — All rights reserved プロンプト集 41 Data
app • workspace.default.sales_dataという売上データがあるので売上ダッシュボー ドにして • SPのテーブルやSQLウェアハウスへのアクセス権を確認下さい。 • 売上データのテーブルを作りたいなら「workspace.default.sales_dataという テーブルを作成。date, category, product, sales_amount, quantityという列 を持ち100行のダミーデータを格納」 Chatbot • システムプロンプトを設定できるようにしてください。システム プロンプトを毎リクエスト時に先頭へ差し込む方式にしてください。 app.pyにフォーカスすることをお勧めします
42 Thank You! ご参加ありがとうございました! Happy Building with Databricks Apps! 🚀
©2025 Databricks Inc. — All rights reserved 43