Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Databricks勉強会:Databricksの高度な使い方(その1)

 Databricks勉強会:Databricksの高度な使い方(その1)

以下をカバーしています。

- Unity Catalog詳細
- Databricksワークフロー詳細
- Databricks Asset Bundlesによるインフラ管理

Takaaki Yayoi

August 06, 2024
Tweet

More Decks by Takaaki Yayoi

Other Decks in Technology

Transcript

  1. ©2024 Databricks Inc. — All rights reserved 自己紹介 弥生 隆明

    (やよい たかあき) Databricksソリューションアーキテクト ▪ 2020年からデータブリックス ジャパンにお いて、プレセールス、POCに従事 ▪ 前職はコンサルティングファーム、 総合電機メーカーにてデータ分析・Web サービス構築などに従事。 インド赴任経験あり。 ▪ Qiitaでいろいろ書いています。 2 @taka_aki
  2. ©2024 Databricks Inc. — All rights reserved Apache Spark徹底入門 発売中!

    Learning Spark 2nd Editionの翻訳 + αの内容となっています! 本書は、ビッグデータを主な対象としたデータ分析フ レームワークであるApache Spark、MLflow、Delta Lakeの中級入門書です。 「動かしてみる」だけではなく、どのような 仕組みになっているのか、どうすれば効率的な実装 が行えるかまで踏み込みつつ、データAIの実装者が Apache Spark、MLflow、および Delta Lakeを使いこなすための解説を行います。
  3. ©2024 Databricks Inc. — All rights reserved 勉強会アジェンダ # アジェンダ

    時間枠 説明 1 Databricksの ベストプラクティス 2時間 • 座学+ハンズオン • Databricksワークスペースの使い方のウォークスルー • ノートブックやクラスターのベストプラクティス 2 Databricksにおける プログラミング 2時間 • 座学+ハンズオン • SQL基礎 • PySpark基礎 3 Databricksの高度な使い方 (その1) 2時間 • Unity Catalog詳細 • Databricksワークフロー(ジョブ)詳細 • Databricks Asset Bundlesによるインフラ管理 4 Databricksの高度な使い方 (その2) 2時間 • LLM関連機能のウォークスルー • サードパーティツールとの連携
  4. ©2024 Databricks Inc. — All rights reserved Databricks ワークスペース Unity

    Catalogのご紹介 7 Unity Catalog以前 Unity Catalog 集中管理されたメタデータとユーザーによるデータ資産に対する統合ビュー Databricks ワークスペース ユーザー管理 メタストア Databricks ワークスペース Databricks ワークスペース Unity Catalog ユーザー管理 メタストア クラスター ユーザー管理 メタストア クラスター クラスター クラスター
  5. ©2024 Databricks Inc. — All rights reserved クラウドストレージ (S3, ADLS,

    GCS) Unity Catalog & Delta Sharing - コンポーネント 8 コンテナ / バケット コンテナ / バケット Unity Catalog 監査ログ Databricks ワークスペース アカウントレベルの ユーザー管理 資格情報 メタストア アイデンティティ プロバイダー リネージ エクスプローラ ACLストア データ エクスプローラ アクセス コントロール X ガバナンスの集中管理 ユーザー Delta Sharing サーバー Delta Sharing クライアント ユーザー ✔ ✔ ✔ 短期間のトークン X アクセス拒否
  6. ©2024 Databricks Inc. — All rights reserved アカウントコ ンソール Databricksアカウントとクラウド

    プロバイダーの階層構造 9 (AWS) 組織ユニット AWS アカウント AWS アカウント Databricks ワークスペース Databricks ワークスペース Databricks (E2) アカウント AAD テナント Azure サブスクリプショ ン Azure サブスクリプショ ン Databricks ワークスペース Databricks ワークスペース AWS Azure Databricks ア カウント アカウントコ ンソール
  7. ©2024 Databricks Inc. — All rights reserved Unity Catalogのアイデンティティフェデレーション 10

    Unity Catalog アカウントコンソール アカウントレベル ユーザー管理 Group 1 Group 2 Group 4 Databricks ワークスペース 1 Databricks ワークスペース 2 Databricks ワークスペース 3 Group 1 Group 1 Group 4 Group 2 Group 4 アイデンティティプ ロバイダー Group 1 Group 2 Group 4 Group 3 ユーザー/グループ同期 (例: SCIM) アイデンティティ連携
  8. ©2024 Databricks Inc. — All rights reserved UCの3レベル名前空間 11 Managed

    Table View External table Databricks アカウント カタログ カタログ スキーマ (データベース) スキーマ (データベース) 外部テーブル ビュー マネージド テーブル Databricks ワークスペース Databricks ワークスペース … … 割り当て (Unity) メタストア (Unity) メタストア … Unity Catalog SELECT * FROM catalog1.database1.table1;
  9. ©2024 Databricks Inc. — All rights reserved HiveメタストアはUCに組み込まれます 12 Managed

    Table View External table Databricks アカウント カタログ カタログ スキーマ (データベース) スキーマ (データベース) 外部テーブル ビュー マネージド テーブル Databricks ワークスペース Databricks ワークスペース … … 割り当て (Unity) メタストア (Unity) メタストア … Unity Catalog SELECT * FROM catalog1.database1.table1; Hive メタストア 関連付け SELECT * FROM hive_metastore.database2.table2;
  10. ©2024 Databricks Inc. — All rights reserved マネージドデータソース & 外部ロケーション

    ユーザー クラスター SQLウェアハウス クラウドストレージ (S3, ADLS, GCS) マネージド コンテナ / バケット 外部 コンテナ / バケット 外部 コンテナ / バケット … 監査ログ 外部ロケーション & 資格情報 アクセス コントロール クラウド ストレージのファイ ル 外部 テーブル マネージド テーブル マネージド データソース 外部 ロケーション 13 Unity Catalog
  11. ©2024 Databricks Inc. — All rights reserved 外部ロケーション クラウドストレージ (S3,

    ADLS, GCS) マネージドテーブル用コ ンテナ/バケット メタストア、外部ロケーション、資格情報 14 カタログストレージ 資格情報 カタログ スキーマ (データベース) 外部 テーブル マネージド テーブル Location for External Data sources Location for External Data sources 外部テーブル用 コンテナ/バケット ロケーション 資格情報 Location for External Data sources Location for External Data sources 外部ファイル用 コンテナ/バケット 資格情報 ボリューム ロケーション 例 (シンプルにするため権限は無視 ): CREATE STORAGE CREDENTIAL finance_cred … CREATE EXTERNAL LOCATION finance URL s3://depts/finance WITH (STORAGE CREDENTIAL finance_cred); CREATE EXTERNAL TABLE forecast LOCATION s3://depts/finance/forecast; CREATE VOLUME eu_invoices LOCATION s3:/depts/finance/eu/invoices; メタ ストア 資格情報
  12. ©2024 Databricks Inc. — All rights reserved データベース/テーブル ロケーション has

    ユーザーとグ ループの同 期 Unity Catalog以前のオブジェクトの関係性 15 アイデンティティプロ バイダー ユーザー グループ管理 * 読み / 書き * すべてのDatabricksワークスペースに組み込まれているモジュール + 外部メタストアにすることも可能 # アクセス可能なすべてのクラウドストレージ、ルートコンテナ (dbfs) クラウド ストレージ # Databricks ワークスペース (コントロールプレーン ) クラスター / SQLウェアハウス Hiveメタストア + has has 読み / 書き
  13. ©2024 Databricks Inc. — All rights reserved (Unity) メタストア ユーザーとグ

    ループの同 期 利用 Unity Catalog (UC)のオブジェクトの関係性 16 Databricks ワークスペース (コントロールプレーン ) クラスター / SQLウェアハウス Databricks アカウント アカウントレベル ユーザー管理 アイデンティティプロ バイダー Hiveメタストア デフォルト クラウド ストレージ リンクおよび管理 has 割り当て Databricks アカウント コンソール has has has 外部クラウド ストレージ 注意: • Unity Catalogの利用はオプションです。依然としてワークスペースでは Hiveメタストアのみを利用できます。 • 1つのDatabricksアカウントで1つ以上のUnityメタストアを作成できます (例 リージョン分離や LoB分離など) • すべてのワークスペースは 1つのUCメタストアのみにアタッチできますが、 1つのUnityメタスト アを複数のワークスペースに割り当てることができます。 has has カタログ ストレージ 資格情報 ストレージ 外部 ロケーション has リンク アクセス可能 has 共有 受信者 has has Delta Sharing has catalog.db.table has 読み / 書き
  14. ©2024 Databricks Inc. — All rights reserved ユーザー (S3, ADLS)

    18 Unity Catalogのクエリーの一生 クラウド ストレージ 監査ログ 監査ログの 書き込み 管理者 • IAMロール(AWS)/ マネージド アイデンティティ(Azure)の作成 • Unity Catalogでストレージ資格 情報/外部ロケーションの作成 • Unity Catalogでアクセスポリシーを 定義 1 クエリーの送信 (SQL, Python, R, Scala) IAMロール / マネージド アイデンティティのAssume 3 パス/データファイルのリストの返 却、一時トークンの スコープを限定 4 名前空間、メタデータ、権限 のチェック 2 結果の送信 8 一時トークンを用いてパス/ データファイルのデータを リクエスト/取り込み 5 データの返却 6 クラスター SQLウェアハウス ポリシーの 強制 7
  15. ©2024 Databricks Inc. — All rights reserved クラスター SQLウェア ハウス

    リネージフロー 20 Ad-hoc ETL / ジョブ DLT UIでリネージを探索 外部カタログ Microsoft Purview Collibra Alation リネージ サービス テーブルおよび カラムリネージ • クラスター、SQLウェアハウス、DLT に送信される(すべての言語の)コー ドがデータフローを実行 • リネージサービスがクラスターから出力され るログを分析し、DLTからメタデータを抽出 • カラムレベル、テーブルレベルの リネージを構成 • Databricksでエンドユーザーに グラフィカルにリネージを表示 • API経由でリネージをエクスポー ト可能、他のツールで インポート可能
  16. ©2024 Databricks Inc. — All rights reserved Unity Catalogのクラスター/ウェアハウス 22

    <SA> システムアカウント(サービスプリンシパル、 インスタンスプロファイル、サービスアカウント) 共有モードのクラスター • SQLを用いる一般的なワークロード (ETL、データ探索など)では共有モー ドを使いましょう。 • 機械学習ランタイムは現時点では未サポートです。 シングルユーザーモードのクラスター • データサイエンティストや Scalaユーザーはシングルユーザーモード を使 いましょう。これらのクラスターは機械学習ランタイム、 MLflowなど Databricksのすべての機能をサポートしています。 • このクラスターではオーナーのみがコードを実行できますが、共有を通じ たノートブックコラボレーションは可能です。同僚は全てを参照できます がセルを実行することはできません。 SQLウェアハウス • Databricks SQLのSQLエディタやPower BI、Tableauなどの外部BIツー ルを活用するビジネスアナリストは SQLウェアハウスを使いましょう。 Delta Lake Databricks ワークスペース 共有モード クラスター SQL + Python* SQL ウェアハウス SQL, BI Unity Catalog シングル ユーザーモードク ラスター Scala, R 完全なDS + ML check check check <SA>トークン 経由の読み書き <SA>トークン 経由の読み書き <SA>トークン 経由の読み書き
  17. ©2024 Databricks Inc. — All rights reserved Unity Catalogとデータサイエンス データサイエンスではいくつか異なる利用シナリオがあります

    1. シングルノードでのデータサイエンス 従来の(ラップトップベースの)データサイエンスの世界では、多くの問題は依然として分散コンピューティングを必要としませ ん。シングルノードのデータサイエンスでは シングルユーザークラスターが最適な選択肢となります。 2. 探索的データサイエンス データの分析、レポート作成、パターンの発見のようなタスクでは、 共有クラスターを活用することができ、 必要なデータ探索用ライブラリ(pandas, scikit learn, …)をノートブックスコープライブラリ、クラスター ライブラリとしてインストールすることができます。 3. 複雑なモデルトレーニング 複雑なモデルを構築する際、特に分散モデルトレーニングが必要となる場合には、データサイエンティストは 計算リソースに対する完全無コントロールを好みます。この場合も シングルユーザークラスターが最適な選択肢となります。 23
  18. ©2024 Databricks Inc. — All rights reserved UCによるソフトウェア開発ライフサイクル環境 24 Unity

    Catalog Databricksワークスペース DEV Databricksワークスペース PROD クラスター クラスター カタログ PROD カタログ DEV Delta Lake DEV データ PROD データ <PA>トークン 経由の読み書き <DA> DEV システムアカウント (サービスプリンシパル、イン スタンスプロファイル、サービスアカウント ) <PA> PROD システムアカウント (サービスプリンシパル、インス タンスプロファイル、サービスアカウント ) (PROD データのテーブ ルに対して) <PA>にアクセスを 許可 ( DEV データの テーブルに対し て)<UG>にアクセ スを許可 <PA>にアクセス許可 <DA>にアクセス許可 <UG> ユーザーグループ (開発者、データエンジニア、 データサイエンティスト ) Users ジョブ <DA>トークン経 由の読み書き check check 注意: • DEV、PRODごとに別のワークスペース にしている理由の一つは、これらを別の VNet/VPCに配置できるということがあり ます。これはUCとは独立していますが、 ここで示しているような環境に関連しま す。
  19. ©2024 Databricks Inc. — All rights reserved 26 モダンなデータエンジニアリングにはモダンなデータ オーケストレーションが必要

    複数のデータソース & トリガー 複数のユースケース 複数の依存関係 複雑でマルチステージ のデータフロー ETL 機械学習モデル トレーニング BIダッシュボードの更新 “データパイプラインは複数 ステージの処理、様々なデータ 資産間の依存関係によって、 サイズ、ボリューム、複雑性が 増しています。”* *Gartner Data Engineering Essentials, Patterns and Best Practices, September 2022 すべてのデータ、分析、 AIユース ケースのプロセスのオーケストレー ションはビジネス上重要です リアルタイム アプリケーション
  20. ©2024 Databricks Inc. — All rights reserved 27 Sessions Clicks

    Join Featurize Aggregate Analyze Train Orders BI & データウェ アハウス データストリー ミング データサイエン ス & ML データエンジニ アリング Lakehouse Platform ? レイクハウスのワークロードをオーケストレートす るには様々な方法があります
  21. ©2024 Databricks Inc. — All rights reserved 28 データチームの生産性の悪化 多くの実践者には利用が難しい

    悪いデータが後段のアプリ ケーションの価値を損なう 所有コストの増加 信頼性の低下 問題が発生した際の根本原因 の理解が困難 管理と維持には複雑な アーキテクチャ これらのツールはレイクハウスと統合されていません 外部のオーケストレータは課題を引き起こします
  22. ©2024 Databricks Inc. — All rights reserved Unity Catalog Delta

    Lake BI & データウェ アハウス データ ストリーミング データ サイエンス & ML データ エンジニアリング Databricksワークフロー データインテリジェンス プラットフォームにおける データ、分析、AIのための統合 オーケストレーション レイクハウスプラットフォーム • シンプルな作成手順 • アクション可能な洞察 • 立証された信頼性 ワークフロー Sessions Clicks Join Featurize Aggregate Analyze Train Orders 29
  23. ©2024 Databricks Inc. — All rights reserved Databricksワークフローのビルディングブロック 31 Databricksワークフローにおけるオーケストレーションの単位は

    ジョブと呼ばれます Databricks ノートブック Python スクリプト Python Wheels SQL ファイル/ クエリー Delta Live Tables パイプライン dbt Java JARファイル Spark Submit ジョブは1つ以上の タスクから構成 されます 直列 並列 条件分岐 (Run If) Jobs-as-a-Task (モジュール化) タスク間に コントロール フローを設定 できます ジョブでは 様々なトリガーを サポートして います DBSQL ダッシュボード 手動トリガー スケジュール (Cron) API トリガー ファイル到着 トリガー テーブル トリガー 連続 (ストリーミング) Coming Soon For-Eachループ
  24. ©2024 Databricks Inc. — All rights reserved 様々な計算資源でジョブを実行可能 インタラクティブクラスター ジョブクラスター

    ワークフロー向けサーバレス コンピュート インタラクティブ、all-purpose クラスターは複数のユーザーで共有できま す。 アドホック分析、データ探索、開発 ではベス トな選択肢となります。 インタラクティブはコスト効率がよくないので プロダクションでは使うべきではありませ ん。 ジョブクラスターはジョブが完了すると停止 し、リソース使用量やコストを削減すること で、約50%安価になります。 しかし、ジョブクラスターでは クラウドプロバイ ダーにおける起動時間が発生 します。 Databricksワークフローでは、優れた コストパフォーマンスのためにタスク 横断で同じクラスターを再利用 することがで きます! サーバレスコンピュートによるワーク フローが新たなデフォルトとなります。 サーバレスコンピュートは高速な スケーリング、改善された信頼性、 シンプルなユーザー体験を提供します。 サーバレスでは、パフォーマンス最適化技術 をすぐに利用できるので、全体的なTCOの削 減に役立ちます。 開発、アドホックな分析 & 探索 プロダクションレベル & 運用のユースケース シンプル、高速、高信頼、高いコスト効率性 ! 32
  25. ©2024 Databricks Inc. — All rights reserved 運用やコスト効率性の改善 リペアとリラン 失敗したジョブの実行を

    いつ、何回リトライ する のかを設定できます! ジョブの遅延 ジョブの遅延や長時間実行 に対してプロアクティブに監 視を行い、アクションを取れ るように 、タスクはメールア ラートを送信 することができま す! リソース分離 リソース共有によるボトル ネックなしの専用の ジョブクラ スターによって それぞれのタスクが独立 して実行されます! ジョブクラスターの 再利用 クラスターの利用効率を 改善し、レーテンシーを 削減するためのクラスターの 再利用によって、 同じ クラスターでジョブに含まれる 複数タスクを実行することがで きます! 33
  26. シンプルで高速 高効率 高信頼 サーバレスコンピュート サーバレスコンピュート Databricksマネージドの 最適化コンピュートにお任せ DB SQL ワークフロー

    ノートブック Delta Live Tables プレビュー 調整不要 高速な起動 誰でも利用可能 完全マネージド、バージョンなし 従量課金 強力なコストガバナンス デフォルトでセキュア スマートな障害復旧による安定性 ストレージ GA 34
  27. ©2024 Databricks Inc. — All rights reserved Team 1 Team

    2 Team 3 Team 4 VPC/VNET VPC/VNET VPC/VNET VPC/VNET 構造化、半構造化、非構造化データ VNetの作成と設定 ゲートウェイやファイアウォールのセットアップ プライベートエンドポイントのセットアップと管理 テナント横断のアイデンティティ IPアドレス / サブネットの管理 ネットワークのセットアップ 脆弱性管理 暗号化とキー管理 侵入検知やデータ漏洩防御の監視 セキュリティとコンプライアンス キャパシティの予測と予約 ワークロードに適したインスタンスのサイジング 高い利用率の維持 インスタンスプールの管理 DeltaテーブルのVacuum / コンパクション 管理の効率性 時間を浪費するのは やめましょう ... 35
  28. ©2024 Databricks Inc. — All rights reserved サーバレスの動作原理 学習 予測

    利用可能インスタンスプール の維持 事前配備 インスタンスの割り当て / 解放 WORKSPACE WORKSPACE WORKSPACE WORKSPACE クエリー / ジョブ ワークスペース すべて のユー ザー サーバレスコンピュート クラウド プロバイダー アカウント 36
  29. ©2024 Databricks Inc. — All rights reserved DBU インフラコスト 運用コスト

    (インフラ+運用 コストを含む )DBU クラシック サーバレス TCO削減 サーバレスによるTCO削減 37
  30. ©2024 Databricks Inc. — All rights reserved サーバレスワークフロー 自動最適化コンピュートにお任せ 完全マネージド、高信頼

    • 60秒以内に起動 (GA時) • 自動更新のバージョンレス • コスト監視のためのシステムテー ブル • コスト管理のための予算 (提供予定) • 自動のインスタンスフェイルオー バー (提供予定) 38
  31. ©2024 Databricks Inc. — All rights reserved セキュア、マルチユーザー、サーバレスのSpark Spark Connectをベース:

    ユーザーコードはクライアント、ドライバー、エグゼキューターで完全に分離されて 実行 サーバレスノートブック サーバレスワークフロー REPL Pythonコード(非Spark) Sparkドライバー Spark エグゼキューター Spark Connect クライアント分離 ドライバー分離 エグゼキューター分離
  32. ©2022 Databricks Inc. — All rights reserved サーバレスノートブック 高速で使いやすい 5秒以内で起動

    依存関係管理のための環境を提供 ポータブルで再利用 可能な環境 自動でキャッシュ ベースのPythonと パッケージのバージョン ユーザーや管理者がカスタマイズ可 能
  33. ©2024 Databricks Inc. — All rights reserved クエリー履歴 現在と過去のクエリーに対する検索やフィルタ リング

    + クエリーを生成したオブジェクトへの リンク クエリープロファイル パフォーマンスのボトルネックや最適化の可能性を特定 するために処理実行の詳細にディープ ダイブ ライブクエリープロファイル - 提供予定 即座のアクションを可能にするために、クエリーが実行 される際にライブで更新される パフォーマンスの洞察 クエリーの洞察 41 サーバレスコンピュートにおけるSQLクエリーやデータフレームに拡張
  34. ©2024 Databricks Inc. — All rights reserved Unity Catalogと完全に連携 自動化されるガバナンス

    ワークフローに対する 自動でリアルタイムな リネージ テーブルをワークフロー やジョブに接続 42
  35. ©2024 Databricks Inc. — All rights reserved DatabricksワークフローによるCI/CDとは? Python SDK

    Jobs Python APIによってジョブの作 成、編集、削除が可能 Terraform Provider Terraformでジョブを作成、管理する ためにdatabricks_jobsリソースを活用 Databricks Jobs REST API 低レベル REST API によってプログラムか らジョブを管理可能 その他の 選択肢 コード : ノートブック、Python .whl、JAR、dbt等 リソース : Databricksワーク フロー、MLFlow、Delta Live Tableパイプライン等 Databricksプロジェクト Databricksアセットバンドル bundle.yml Databricksアセットバンドル (DAB) はDatabricksプロジェクトの アーティファクト、リソース、設定を指定するYAMLファイルです。 $ databricks bundle deploy -e “dev” $ databricks bundle run pipeline -refresh-all -e “dev” 実行環境 : Databricksワーク スペース、コンピュート設定等 ワークスペース : 名前と デフォルトワークスペース リソース設定 : ジョブ、DLTパ イプライン、MLFlow等。その 他のパラメーターは REST API のスキーマに準拠 環境ベースの仕様 : 異なる 環境におけるプロジェクトの 挙動を制御 IDEやターミナル、Databrikcsから複数の環境へのあなたのプロジェクトの デプロイ、実行、設定の調整、変更のテストが可能です! Databricks CLIをインストールし ご自身のCI/CDサーバーへのバンドルの デプロイをスタートできます。また、Git Actionで自動起動できます。 Dev設定 - シングルノード - スケジュールなし - ユーザーとして実行 Staging設定 - 3ノード - 週次実行 - SPとして実行 Prod設定 - 10ノード - 日次実行 - SPとして実行 ソース管理 dev main release dev staging prod Databricks ワークフロー Databricks ワークフロー Databricks ワークフロー プルリク リリース 43
  36. ©2024 Databricks Inc. — All rights reserved いつDatabricksワークフローを活用すべきか? ▪ ...もし、追加費用なし

    にシンプルでパワフルな ETL/DLT/MLオー ケストレーションを必要としているなら ▪ ...もし、ノートブックワークフロー (%run)を使っているなら ▪ ...もし、Airflowを使っていてインフラのオーバーヘッドを 削減し、オーケストレーションをより簡単にしたいなら ▪ ...ツールセットを統合したい なら ▪ ...コードのオーケストレーションでのエンジニア依存を無くしたい なら ▪ ...クラウドプロバイダーに依存しない オーケストレーションを必要 としているのなら ...ワーク フローを使い ましょう 44
  37. ©2024 Databricks Inc. — All rights reserved Delta Live Tables

    Delta Live Tables (DLT)は高信頼データパイプラインを構築するためにシンプルな宣言型アプローチ を採用 した初のETLフレームワークです。DLTでは、データアナリストやエンジニアがツールの準備に費やす時間を 削減し、データからの価値の導出 にフォーカスできるように、大規模なインフラ ストラクチャを自動で管理 します。 ETL開発の加速 インフラを 自動で管理 データに対する自信 バッチと ストリーミングを シンプルに エンジニアリング、オーケストレーション、インフラ管理をさらにシンプルに Databricksワークフローは DLTパイプラインをオーケストレーションできます。 Delta Live Tablesの詳細はこちら! 45
  38. ©2024 Databricks Inc. — All rights reserved すべてのデータ実践者向けの シンプルな作成手順 リアルタイム監視からの

    アクション可能な洞察 プロダクションワークロードで 立 証された信頼性 51 お客様がDatabricksワークフローを愛する 3つの理由 すべてのデータ実践者は Databricksワークスペースでの数 クリックで容易にワーク フローをオーケストレートすること で開発を加速。 上級ユーザーは完全なCI/CD サポートのもとでお好きなIDEを活 用。 すべてのワークフローにおけるすべ てのタスクの完全な 透明性。詳細なリアルタイムのメトリ クスでプロダクションワークロードの 健康状態を確認し、問題を迅速に 特定、 トラブルシュート、修正する ために分析を実施。 99.95%の可用性を持つサーバレ スデータ処理による完全 マネージドのオーケスト レーションサービス。 ワークフローは、数百万のプロダ クションワークロードが実行されて おり高信頼。
  39. ©2024 Databricks Inc. — All rights reserved お使いのDatabricksワークスペースの 数クリックで洗練されたワークフロー を構築

    あるいは、IDEを用いてローカルでワーク フローを開発して、Databricksで実行 すべてのデータ実践者向けのシンプルな作成手順 52
  40. ©2024 Databricks Inc. — All rights reserved シンプルかつ直感的なモニタリングUIに よって、すべてのワークフロー実行に対するリア ルタイムメトリクスと詳細分析を提供

    どのタスクがなぜ失敗したのかを理解するためにド リルダウン。あなたのお客様にインパクトが出る前 のトラブルシュート。 リアルタイム監視によるアクション可能な洞察 53
  41. ©2024 Databricks Inc. — All rights reserved トラブルシュートや最適化のために クリティカルパスを可視化 ジョブ実行の可視性を改善

    タスク実行におけるガントチャート 重要ではないワークフローの処理を容易に理解 ワークロード最適化の可能性を特定 失敗したあるいは遅いタスクの診断やリトライ
  42. ©2024 Databricks Inc. — All rights reserved AIとシームレスに連携 55 DBRXやサードパーティの外部モデルのような任意の基盤モデルを活用

    ホストされた 任意のモデル Databricks ワークフロー SELECT ai_query() any prompt, any model, one API SQLタスクタイプ
  43. ©2024 Databricks Inc. — All rights reserved フルマネージドサービス メンテナンスコストを削減し、 皆様のチームはリソース管理

    タスクではなくイノベーションにフォー カス [プレビュー ] サーバレスデータ処理 タスク実行に非常にスケーラブルな 計算リソースを用いることで、皆様の チームからメンテナンス 負荷を取り除き、更なるコスト 削減を実現 数百万のプロダク ションワークロード を実行する数千の お客様からの 信頼 99.95% の可用性 プロダクションワークロードで立証された信頼性 56
  44. ©2024 Databricks Inc. — All rights reserved Databricksにおけるプロジェクトの解剖学 コード: ノートブック,

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

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

    — All rights reserved このジャーニーを オーケストレートするには? 62
  47. ©2024 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 63
  48. ©2024 Databricks Inc. — All rights reserved CI/CD: 問題を解決、本当に? 👍

    使いやすい 👍 PythonとScalaのコードを サポート 😥 汎用的なソリューションで はありません: ノートブックで はなくPython/Scalaコードのみ 😥 Labsのプロジェクト 😥 ネイティブサポートでは ありません 64 dbx: Databricks labsのプロジェクト
  49. ©2024 Databricks Inc. — All rights reserved 💪 エンジニアのサポート (Deco

    team) 💪 とてもパワフル、表現豊か 💪 汎用的: ノートブック、ダッシュボード サービスプリンシパル… 💪 ワークスペース設定のために選択可能な管理ツール 😥 データサイエンティストの課題: HCL言語 😥 データサイエンティストの課題: Terraform stateファイル 😥 データサイエンティストの課題: 完全な開発ループではなく、デプロイ のみに最適化 CI/CD: 問題を解決、本当に? Terraform 65
  50. ©2024 Databricks Inc. — All rights reserved どうすればシンプルに? 一度コードを書いたら、容易に複数ワークスペースにデプロイ •

    シンプルで理解しやすいフォーマット(YAMLなど)で全ての設定とコードをバージョン管理 • 既存のREST APIパラメーターを用いてDatabricksリソースを定義 • 環境ベースの上書きや変数を指定 • デプロイメントにおけるユーザー分離を保証 設定と一緒にデプロイする標準的かつ全体的な手段の実装 … DAB 66
  51. ©2024 Databricks Inc. — All rights reserved Databricksプロジェクトのアー ティファクト、 リソース、設定を指定する

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

    ジョブ、DLTパイプライン、MLflow、 etc. • REST APIのスキーマに準拠 環境ベースの仕様 • 異なる環境における挙動を制御 69 名前とデフォルトの ワークスペース
  53. ©2024 Databricks Inc. — All rights reserved どのようにバンドルを使うのか? $ databricks

    bundle deploy -t “development” $ databricks bundle run pipeline –refresh-all -t “development” ★ あなたのプロジェクトのデプロイと実行、設定の 調整、変更のテスト ★ 差異をテストするために複数ワークスペースに デプロイ ★ IDE、ターミナル、Databricksからデプロイ、実行 Alice アクティブな開発の一部として 70
  54. ©2024 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” 71 🔗 Github Actionsのサンプル: https://docs.databricks.com/ja/dev-tools/bundles/ci-cd.html
  55. ©2024 Databricks Inc. — All rights reserved DAB: 一度コードを書いたらどこでもデプロイ •

    CI/CDとプロジェクト管理のベストプラクティスの民主化 • コードとリソース、設定のバージョン管理 • 自動化をフレンドリーに (CLI vs. 1000のRESTコール) • 自信を持ってコラボレーション、デプロイ (分離、テスト自動化、etc) • あなたのプロジェクトを定義、デプロイするために統一された方法 サマリー 72