Slide 1

Slide 1 text

©2023 Databricks Inc. — All rights reserved Databricks アセットバンドル Databricksにおけるデータ製品を デプロイするための標準かつ統合 されたアプローチ 1

Slide 2

Slide 2 text

©2023 Databricks Inc. — All rights reserved アジェンダ Databricksアセットバンドル: DAB 1 デモ: Infobaseユースケース 2 2 Call to Action 3

Slide 3

Slide 3 text

©2023 Databricks Inc. — All rights reserved Databricksにおけるプロジェクトの解剖学 コード: ノートブック, Pythonの .whl, JAR, dbt, etc. 実行環境: Databricksワーク スペース、計算資源の設定 リソース: Databricksワーク フロー、MLflowトラッキング サーバーやレジストリ、Delta Live Tables… 説明しましょう テーブルやパイプライン、機械学 習モデル、ダッシュボードを作成、 外部サービス呼び出し、etc. シンプルなレポートはシングル ノードのコンピュート上で実行され る一つのノートブックかもしれませ ん 完全なMLOpsパイプラインにお いては、MLflow、Feature Store、モデルサービングの コンポーネントが必要となる ことでしょう さまざまなコンポーネントから 構成 さまざまなデータ製品を 製造 タスクがコンポーネントを決 定

Slide 4

Slide 4 text

言い換えると… あなたのプロジェクトは コード + リソース + 環境 から構成されます

Slide 5

Slide 5 text

©2023 Databricks Inc. — All rights reserved あなたのプロジェクトを プロダクションに 移行するには?

Slide 6

Slide 6 text

©2023 Databricks Inc. — All rights reserved プロダクションへのジャーニー commit pull request deploy as test merge release deploy to prod check out Devの設定 : シングルノード スケジュールなし ユーザーとして実行 … Prodの設定 : Sparkクラスター 週次のスケジュール サービスプリンシパルとして実行 … Stagingの設定 : Sparkクラスター 週次のスケジュール ユーザーとして実行 … 8

Slide 7

Slide 7 text

©2023 Databricks Inc. — All rights reserved ©2023 Databricks Inc. — All rights reserved このジャーニーを オーケストレートするには? 9

Slide 8

Slide 8 text

©2023 Databricks Inc. — All rights reserved Databricksプロジェクトデプロイのステップ REST APIを用いてプログラムで 1. どこで実行したいのか? 2. 何を実行したいのか? a. コード成果物: ノートブック、PythonパッケージやJAR b. ワークフロータスク、依存関係や設定 c. リソース: DLT、MLflowエクスペリメント、etc. 3. 実行しましょう! a. コードのアップロード、リソースの作成、設定 b. ワークフローのスケジュール、実行 Workspace, Jobs API Clusters, MLflow API Jobs, Clusters API DBFS, Jobs API Jobs API Workspace API 10

Slide 9

Slide 9 text

©2023 Databricks Inc. — All rights reserved CI/CD: 問題を解決、本当に? 👍 使いやすい 👍 PythonとScalaのコードを サポート 😥 汎用的なソリューションで はありません: ノートブックで はなくPython/Scalaコードのみ 😥 Labsのプロジェクト 😥 ネイティブサポートでは ありません 11 dbx: Databricks labsのプロジェクト

Slide 10

Slide 10 text

©2023 Databricks Inc. — All rights reserved 💪 エンジニアのサポート (Deco team) 💪 とてもパワフル、表現豊か 💪 汎用的: ノートブック、ダッシュボード サービスプリンシパル… 💪 ワークスペース設定のために選択可能な管理ツール 😥 データサイエンティストの課題: HCL言語 😥 データサイエンティストの課題: Terraform stateファイル 😥 データサイエンティストの課題: 完全な開発ループではなく、デプロイ のみに最適化 CI/CD: 問題を解決、本当に? Terraform 12

Slide 11

Slide 11 text

©2023 Databricks Inc. — All rights reserved どうすればシンプルに? 一度コードを書いたら、容易に複数ワークスペースにデプロイ ● シンプルで理解しやすいフォーマット(YAMLなど)で全ての設定とコードをバージョン管理 ● 既存のREST APIパラメーターを用いてDatabricksリソースを定義 ● 環境ベースの上書きや変数を指定 ● デプロイメントにおけるユーザー分離を保証 設定と一緒にデプロイする標準的かつ全体的な手段の実装 … DAB 13

Slide 12

Slide 12 text

Databricks アセット バンドル のご紹介

Slide 13

Slide 13 text

©2023 Databricks Inc. — All rights reserved Databricksプロジェクトのアー ティファクト、 リソース、設定を指定する YAMLファイル bundle.ymlファイルを用いる Databricksアセットバンドルを 検証、デプロイ、実行 するため の機能を提供する新たな Databricks CLI バンドルは開発やCI/CD プロセスで有用です Databricksアセット バンドルとは? バンドルは何の役に立つ のか? どこでバンドルを使うのか? 15 Databricksアセットバンドル 一度コードを書けば どこでもデプロイ

Slide 14

Slide 14 text

©2023 Databricks Inc. — All rights reserved 詳細 リソースの設定 ● ジョブ、DLTパイプライン、MLflow、 etc. ● REST APIのスキーマに準拠 環境ベースの仕様 ● 異なる環境における挙動を制御 16 名前とデフォルトの ワークスペース

Slide 15

Slide 15 text

©2023 Databricks Inc. — All rights reserved どのようにバンドルを使うのか? $ databricks bundle deploy -t “development” $ databricks bundle run pipeline –refresh-all -t “development” ★ あなたのプロジェクトのデプロイと実行、設定の 調整、変更のテスト ★ 差異をテストするために複数ワークスペースに デプロイ ★ IDE、ターミナル、Databricksからデプロイ、実行 Alice アクティブな開発の一部として 17

Slide 16

Slide 16 text

©2023 Databricks Inc. — All rights reserved どこでバンドルを使うのか? As part of CI/CD processes ★ CI/CDサーバー(GitHub Actionsなど) で実行 ★ CIやリリースパイプラインから起動 ★ サービスプリンシパルとしての実行が理 想的 commit pull request deploy as test merge release deploy to prod check out ➜ databricks bundle deploy -t “staging” ➜ databricks bundle run pipeline –refresh-all -t “staging” ➜ databricks bundle deploy -t “production” ➜ databricks bundle run pipeline –refresh-all -t “production” 18 🔗 Github Actionsのサンプル: https://docs.databricks.com/ja/dev-tools/bundles/ci-cd.html

Slide 17

Slide 17 text

©2023 Databricks Inc. — All rights reserved DAB: 一度コードを書いたらどこでもデプロイ ● CI/CDとプロジェクト管理のベストプラクティスの民主化 • コードとリソース、設定のバージョン管理 • 自動化をフレンドリーに (CLI vs. 1000のRESTコール) • 自信を持ってコラボレーション、デプロイ (分離、テスト自動化、etc) ● あなたのプロジェクトを定義、デプロイするために統一された方法 サマリー 19

Slide 18

Slide 18 text

©2023 Databricks Inc. — All rights reserved Call to Action 23

Slide 19

Slide 19 text

©2023 Databricks Inc. — All rights reserved Call to Action • DABウォークスルーを確認: https://app.getreprise.com/launch/W68Ng9X/ • 試してみる • 質問してください 24