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

Azure Databricks Learning Series #2 - Databricks SQL

Azure Databricks Learning Series #2 - Databricks SQL

More Decks by Hiroyuki Nakazato / 中里 浩之

Other Decks in Technology

Transcript

  1. スピーカー Hiroyuki Nakazato 中里 浩之 日本マイクロソフト株式会社 カスタマー サクセス事業本部 クラウド ソリューション

    アーキテクト Yici Chen 陳 いつ 日本マイクロソフト株式会社 カスタマー サクセス事業本部 カスタマー エンジニア
  2. アジェンダ 1. Databricks SQL (DB SQL) の概要 2. DB SQL

    の特長 3. DB SQL の最新情報 4. DB SQL の価格の考え方 5. DB SQL と Azure サービスを組み合わせた ノーコード ETL とデータ分析の アーキテクチャー紹介 & デモ
  3. データと分析に関する現在のユーザー ニーズ 生データ 整理されたデータ あらゆるユース ケース向けの コラボレーション プラットフォーム • データ

    エンジニア、データ サイエンティスト、アナリスト 向けのネイティブ サポート • 主要な言語とフレームワークの利用 すべてのデータに対する専用のデータ レイク • 低コストで耐久性の高いクラウド ストレージ • あらゆるデータの種類に対するネイティブ サポート • データはユーザー アカウント内に保持 レイク上の構造化された トランザクション レイヤー • バッチとストリーミングのサポート • ロックインなしのデータ レイク上のオープン形式 • ガバナンス、系列、セキュリティ データ サイエンスと 機械学習 分析、 BI、AI データ エンジニアリングと ストリーミング 大規模/小規模 高頻度/低頻度 構造化/半構造化 /非構造化
  4. Microsoft Azure 上でのレイクハウス プラットフォーム Delta Lake Azure Data Lake Storage

    Gen 2 構造化データ 半構造化データ 非構造化データ 生データ 整理されたデータ BI・ダッシュボード ノーコード/ローコード データ パイプライン SQL ベースの分析 機械学習 データ エンジニアリング データ サイエンス レイク ハウス Microsoft Azure ストリーミング データ
  5. Databricks SQL データ レイクを標準的な SQL で分析し リッチなダッシュボードで可視化できる機能 Unity Catalog SQL

    ウェアハウス Photon エンジン キャッシュ (クエリ結果 / ディスク / UI) Curated data 整理されたデータ SQL エディター ダッシュボード アナリスト エクスペリエンス 管理者エクスペリエンス ✓ アナリストと管理者向けの優れた UI/UX ✓ マルチ クラスターの高性能なコンピューティング (Photon エンジン & 豊富なキャッシュ) ✓ データ アクセスとメタデータを一元管理できる データ ガバナンス ソリューション ✓ オープンで高性能、ACID を実現する 最新のデータ マネジメント・テクノロジー ✓ Premium レベルのワークスペースで利用可能
  6. Databricks SQL の歴史  2020 年 4 月 Databricks 社が

    Redash 社を買収  2020 年 11 月 Databricks SQL のパブリック プレビューを開始  2021 年 12 月 Databricks SQL の一般提供を開始 OSS のメジャーなダッシュボード ツール 多くのデータ ソースへの接続、クエリでの分析、 リッチなダッシュボードによる可視化
  7. Databricks SQL の主要機能 SQL 分析やダッシュボードやアラート機能に加えて主要 BI ツールと JDBC/ODBC 接続に対応 機能

    概要 SQL 分析 Azure Data Lake Storage Gen2 や Amazon S3 などのクラウド ストレージに 格納されているデータを ANSI 標準 SQL 準拠の SQL で分析 ダッシュボード SQL の実行結果をリッチなダッシュボードで可視化 アラート SQL をスケジュール実行し、特定のフィールドが事前定義した閾値を 超えたらアラートによって通知 BI ツール サポート Power BI, Tableau, Looker, Qlik Sense, MicroStrategy などの 主要な BI ツールから接続可能 (一覧は Databricks パートナー を参照) JDBC/ODBC ドライバー サポート JDBC/ODBC ドライバーを利用して任意のプログラムから接続可能
  8. アナリスト エクスペリエンス ✓ データベースとテーブルを簡単に探索し、 使い慣れた ANSI SQL でデータを 分析する ✓

    インタラクティブなビジュアライゼーション で結果をすばやく理解する ✓ クエリを保存・共有・再利用して、 より迅速に結果を得られる 新しいインサイトをすばやく見つける
  9. SQL ウェアハウス ✓ SQL 分析と BI に最適化された 計算リソースを素早くセットアップ ✓ 自動スケールによる高いコンカレンシー

    ✓ 自動停止やスポット インスタンスの 活用によるコスト最適化 ✓ サーバーレス (プレビュー) で利用可能 高性能かつスケーラブル、ストレージと完全に分離された計算リソース
  10. 管理者エクスペリエンス ✓ SQL ウェアハウスで実行した全クエリが クエリ履歴に記録される ✓ クエリごとの実行時間や処理データ量、 返却行数や I/O パフォーマンスを確認

    ✓ クエリ プロファイル (クエリ実行の詳細の 視覚化) や Spark Web UI による 詳細なトレース ✓ ボトルネックやコストのかかる操作を特定 してクエリを改善 クエリの理解と最適化
  11. Databricks SQL の 3 つの特長 1 高スケーラビリティ 2 高性能 3

    高コスト性能 • ストレージとコンピュートの 完全な分離 • マルチ クラスター • 自動スケール • Photon エンジン • 複数のキャッシュ • Delta Lake に最適化 • スポット VM の活用 • 自動停止 • DBU の事前購入割引 • サーバーレス (プレビュー)
  12. Databricks SQL のアーキテクチャー ✓ Azure Databricks ワークスペース内に 複数の SQL ウェアハウスを作成可能

    ✓ ウェアハウスは 1 つ以上のクラスターで構成 ✓ ウェアハウスを構成するクラスター数を増やす ことでクエリの同時実行性能を向上 ✓ クラスター サイズを上げることで処理性能が 向上し、クエリの待機時間を短縮 ✓ 自動スケールを設定することでクエリの処理 状況に応じてクラスター数が自動的に増減 ストレージとコンピューティングが完全に分離、高いスケーラビリティを持つ SQL Warehouse #1 Cluster #N Driver Node … SQL Warehouse #N Cluster #N Driver Node … … … Cluster #1 Driver Node … Worker Nodes Worker Nodes Worker Nodes ADLS Gen2 などのクラウド オブジェクト ストレージ Application or User connection Application or User connection
  13. クラスター サイズと仮想マシン (VM) の対応  クラスター サイズ: 2X-Small から 4X-Large

    (T シャツ サイジングと表現)  ドライバー ノード: クラスター サイズに応じて VM のスペックが変動、台数は 1 固定  ワーカー ノード: クラスター サイズに応じて VM の台数が変動、スペックは Standard_E8ds_v4 固定 クラスター サイズ ドライバー ノード スペック ドライバー ノード 台数 ワーカー ノード スペック ワーカー ノード 台数 DBU 2X-Small Standard_E8ds_v4 1 Standard_E8ds_v4 1 4 X-Small Standard_E8ds_v4 1 Standard_E8ds_v4 2 6 Small Standard_E16ds_v4 1 Standard_E8ds_v4 4 12 Medium Standard_E32ds_v4 1 Standard_E8ds_v4 8 24 Large Standard_E32ds_v4 1 Standard_E8ds_v4 16 40 X-Large Standard_E64ds_v4 1 Standard_E8ds_v4 32 80 2X-Large Standard_E64ds_v4 1 Standard_E8ds_v4 64 144 3X-Large Standard_E64ds_v4 1 Standard_E8ds_v4 128 272 4X-Large Standard_E64ds_v4 1 Standard_E8ds_v4 256 528
  14. マルチ クラスターのクエリ割り当てに関する仕様 ✔ 1 クラスターに割り当てられるクエリ数  以前は Docs に 10

    クエリ / クラスターの記載があったが、現在はクエリの計算コストに基づく割り当てに変更 ✔ クエリのルーティング  新しいセッション:最も負荷が低いクラスターにルーティング  既存のセッション:そのセッションの前のクエリを実行したクラスターにルーティング (そのクラスターが利用 できない場合は最も負荷が低いクラスターにルーティング) ✔ クエリのキューイング  ウェアハウスが STARTING 状態または、すべてのクラスターが処理能力の限界までクエリを実行しているとき、 クエリはキューに登録される ※ ウェアハウスが STARTING 状態の場合を除き、メタデータ クエリ (DESCRIBE table など) や 状態の変更クエリ (SET など) はキューに登録されない Databricks SQL ウェアハウスとは - Azure Databricks - Databricks SQL | Microsoft Learn
  15. クラスター数の自動スケールの仕様 ✔ 自動スケール アウトの仕様  実行中のクエリ & キュー内のクエリ & 次の

    2 分間に予想される受信クエリの予測処理時間を元に判定する  上記にかかわらず、キュー内で 5 分以上待機しているクエリが存在する場合、クラスターを追加する ✔ 自動スケール インの仕様  低負荷の状態が 15 分間続いた場合にクラスターを縮小する  この場合、過去 15 分間のピーク負荷を処理するのに十分なクラスターが維持される  例:ピーク負荷が 25 の同時クエリの場合、3 つのクラスターが維持される Databricks SQL ウェアハウスとは - Azure Databricks - Databricks SQL | Microsoft Learn 予測処理時間 自動スケール アウトの仕様 2 分未満の場合 クラスターを追加しない 2 分から 6 分の場合 1 クラスターを追加 6 分から 12 分の場合 2 クラスターを追加 12 分から 22 分の場合 3 クラスターを追加 上記以外の場合 3 クラスター + 予測処理時間が 15 分増加するごとに 1 クラスターを追加
  16. SQL ウェアハウスのクラスター サイズとクラスター数の増加 クラスター #1 ドライバー: Standard_E16ds_v4 × 1 ワーカー:

    Standard_E8ds_v4 × 4 SQL ウェアハウス サイズ: Small, クラスター数: 1 クラスター #1 ドライバー: Standard_E32ds_v4 × 1 ワーカー: Standard_E8ds_v4 × 8 サイズ: Medium, クラスター数: 1 クラスター サイズ アップ ドライバーのスペック アップとワーカー台数増加 ✔ 性能アップによりクエリの待機時間が短縮 ✔ ディスク キャッシュの容量が増加 サイズ: Small, クラスター数: 2 クラスター #1 ドライバー: Standard_E16ds_v4 × 1 ワーカー: Standard_E8ds_v4 × 4 クラスター #2 ドライバー: Standard_E16ds_v4 × 1 ワーカー: Standard_E8ds_v4 × 4 クラスター数 増加 同じ構成のクラスターが追加 ✔ クエリの同時実行性能が向上
  17. Databricks SQL が TPC-DS 100TB での世界記録を更新 2021 年 11 月の発表

    - TPC-DS 100TB クラスで他社 DWH と比較して 2.7 倍高速、価格性能において 12 倍優れているとの結果を公式に公開 (出典) Databricks が DWH パフォーマンスの公式記録を更新 - Databricks ブログ
  18. Photon エンジン ✓ Databricks 社がネイティブ コード (C++) で 新しく開発したベクトル化クエリ エンジン

    ✓ Apache Spark と 100% の互換性を持つ ✓ 生データと列指向形式の構造化データの 両者に対して優れた性能を発揮 ✓ 以前の Databricks ランタイムから 2 倍 以上の高速化 ✓ Databricks SQL は Photon エンジンが デフォルトで有効化 レイクハウス プラットフォームのための次世代高速クエリ エンジン
  19. SQL ウェアハウスのキャッシュ 複数のキャッシュが自動的に適用され、大幅な性能向上に寄与 User BI Application / SQL Connection SQL

    Warehouse #1 Cluster #1 Driver Node Worker Nodes Worker Nodes ディスク キャッシュ (旧称 Delta キャッシュ) クラウド ストレージの Delta Lake & Parquet のデータを ワーカー ノードのローカル SSD にキャッシュ 同一のデータの 2 回目以降の読み取りを大幅に高速化 クエリ結果のキャッシュ SQL ウェアハウスを介した全クエリの結果セット キャッシュ • 小さな結果セット (1MB 未満) → On Cluster (Driver Node) • 大きな結果セット (1MB 以上) → On Cloud Storage 同一のクエリの 2 回目の結果返却を大幅に高速化 Databricks SQL UI キャッシュ クエリとダッシュボードのユーザーごとのキャッシュ (on DBFS) SQL ウェアハウスを停止していてもダッシュボード表示が可能 Delta Table クエリキャッシュ-Azure Databricks - Databricks SQL | Microsoft Docs How to Extract Large Query Results Through Cloud Object Stores - The Databricks Blog
  20. ディスク キャッシュ クラウド ストレージ上の Delta Lake および Parquet 形式のデータの最初の読み取り時に ワーカー

    ノードのローカル SSD にキャッシュ、2 回目以降の読み取りを大幅に高速化 項目 説明 キャッシュ対象のデータ クエリで処理するデータ (クエリ結果キャッシュではない) キャッシュ対象のデータ形式 Delta Lake および Parquet 形式のデータ キャッシュのトリガー 最初の読み取り時に自動的に実行 キャッシュの強制 CACHE SELECT コマンドでデータをキャッシュに事前に読み込める パフォーマンス インメモリの Spark キャッシュよりも高速に読み取り可能:高速な中間データ形式で格納 & 効率的な アルゴリズムで展開 キャッシュの一貫性 ディスク キャッシュがデータ ファイルの作成・削除・更新を自動的に検知しキャッシュに反映:ユーザーが 明示的にキャッシュの無効化や更新を行う必要はない キャッシュの削除 LRU (Least Recently Used; 最後の使用から最も時間が経過した) データを自動的に削除 クラスターの再起動によってもキャッシュは削除される キャッシュの容量 ワーカー ノードのローカル SSD の使用可能な領域の半分を利用 (Standard_E8ds_v4 のローカル SSD は 300 GiB = 150 GiB をディスク キャッシュに利用) Azure Databricks でキャッシュを使用してパフォーマンスを最適化する - Azure Databricks | Microsoft Learn
  21. ディスク キャッシュ クラウド ストレージ上の Delta Lake および Parquet 形式のデータの最初の読み取り時に ワーカー

    ノードのローカル SSD にキャッシュ、2 回目以降の読み取りを大幅に高速化 項目 説明 キャッシュ対象のデータ クエリで処理するデータ (クエリ結果キャッシュではない) キャッシュ対象のデータ形式 Delta Lake および Parquet 形式のデータ キャッシュのトリガー 最初の読み取り時に自動的に実行 キャッシュの強制 CACHE SELECT コマンドでデータをキャッシュに事前に読み込める パフォーマンス インメモリの Spark キャッシュよりも高速に読み取り可能:高速な中間データ形式で格納 & 効率的な アルゴリズムで展開 キャッシュの一貫性 ディスク キャッシュがデータ ファイルの作成・削除・更新を自動的に検知しキャッシュに反映:ユーザーが 明示的にキャッシュの無効化や更新を行う必要はない キャッシュの削除 LRU (Least Recently Used; 最後の使用から最も時間が経過した) データを自動的に削除 クラスターの再起動によってもキャッシュは削除される キャッシュの容量 ワーカー ノードのローカル SSD の使用可能な領域の半分を利用 (Standard_E8ds_v4 のローカル SSD は 300 GiB = 150 GiB をディスク キャッシュに利用) Medium サイズのクラスターの場合、 ワーカー ノード × 8 台 = 計 1.2TiB のローカル SSD を ディスク キャッシュに利用可能 Azure Databricks でキャッシュを使用してパフォーマンスを最適化する - Azure Databricks | Microsoft Learn
  22. SQL ウェアハウスのタイプと提供機能 SQL ウェアハウス 機能概要 提供機能 Classic Self managed, introductory

    SKU, compute in your account Pro Self managed, advanced SKU, compute in your account Serverless* Fully managed, elastic, best value アドホック SQL クエリ SQL エディタ • • • ANSI SQL • • • データ マネジメント ガバナンス クエリ履歴 & クエリプロファイル • • • Unity Catalog 向け Data Explorer • • • Managed Data Sharing • • • 接続性 Partner Connect • • • SQL Rest API, Python, Node.js, Go* • • • パフォーマンス Photon • • • Predictive I/O • • SQL ETL/ELT Query フェデレーション* • • Materialized View * • • Workflows 統合* • • データ サイエンス ML Geospatial 関数 • • Python UDF* • • Notebook Integration* • • サーバーレス SQL データ ウェアハウス フル マネージド コンピュート • Intelligent Workload Management* • Serverless Query Result Caching* • What are the SQL warehouse types? - Azure Databricks - Databricks SQL | Microsoft Learn Databricks SQL Azure Pricing - Databricks * プレビュー機能
  23. Databricks SQL サーバーレスの特長 1 高い生産性 2 フル マネージド 3 コスト削減

    • ユーザーのクエリはすぐに開始、 クラスタ起動を待つ必要なし • 即時のクラスタ スケーリングで 更なる同時利用ユーザーに対応 • 構成不要 • パフォーマンス チューニング不要 • キャパシティ管理不要 • 自動アップグレード / パッチ適用 • 使った分だけの支払い; クラスタのアイドル時間を削減 • リソースの過剰プロビジョニングを 抑止 • 最終クエリ実行から 10 分の アイドル待ち容量を削除
  24. Databricks SQL サーバーレスで何が変わるのか? マネージドなサーバー群 常時起動しているサーバー群は、自動的にパッチ適用 / アップグレードされる ... 最適化されたキャパシティ デフォルトでは最後のクエリから

    10 分経過したアイドル クラスタは 除去される Serverless SQL Compute セキュア データ暗号化を含めた 3 レイヤーの分離 即時のコンピュート ユーザーはクラスターの起動 / スケール アップ時に 10 秒以内に 計算リソースが割り当てられるため待ち時間がほぼない
  25. 従来の Databricks SQL のコンピューティング リソースの配置 データ プレーンはユーザーが管理する Azure サブスクリプションに配置 Azure

    Databricks ワークスペース VNET ワークスペース ワークスペース Customers Account ユーザー管理の Azure サブスクリプション Azure Databricks サービス ユーザー管理のクラウド ストレージ データ プレーン (クラスターを構成する VM 群と周辺リソース) コントロール プレーン
  26. Databricks SQL サーバーレスのコンピューティング リソースの配置 データ プレーンは Azure Databricks が管理するサブスクリプションに配置 Azure

    Databricks ワークスペース ワークスペース ワークスペース Customers Account ユーザー管理の Azure サブスクリプション Azure Databricks サービス ユーザー管理のクラウド ストレージ Databricks SQL サーバーレス用データ プレーン コントロール プレーン
  27. 従来のクラスターとサーバーレスの初回応答までの時間比較 ✓ Classic または Pro の場合、 クラスターの起動完了まで (VM の台数 によるが)

    5-7 分程度待つ必要がある ✓ サーバーレスはユーザー リクエストを受けて 概ね 10 秒以内にコンピューティング リソースの準備が完了 ✓ さらなる時間短縮 (2-4 秒まで短縮) を 目標に開発が進行中 サーバーレスは初回のクエリ応答速度が大幅に向上 ~10s ~2-4s ~7m
  28. Databricks SQL サーバーレスは Azure ストレージ アカウントの 仮想ネットワーク サービス エンドポイントに対応 サービス

    エンドポイント: Azure リソースへのアクセスを特定の Vnet のサブネットからの通信に 限定できる機能、通信は常に Azure のバックボーン ネットワークを通るなどの特長を持つ サーバーレスが利用する VNet とサブネットの一覧が以下 Docs で公開されており、それらを ストレージ アカウントのファイア ウォールで許可する形 Configure Azure storage firewalls to allow access from serverless SQL warehouses https://learn.microsoft.com/ja-jp/azure/databricks/sql/admin/serverless-firewall NW セキュリティが必須の組織でもサーバーレスを安心して利用できる
  29. Databricks SQL サーバーレスの利用開始にあたっての考慮点 2023 年 1 月現在の情報  パブリック プレビューのステータス

     利用可能なリージョンは米国東部、米国東部 2、西ヨーロッパ  利用開始にあたって申請が必要 (申請フォームについても以下 URL に記載あり) 最新の情報については以下 URL を参照 https://learn.microsoft.com/ja-jp/azure/databricks/serverless-compute/
  30. Unity Catalog: メタデータとユーザーの一元管理 データ エステートの統一ビューを作成 Unity Catalog なし Databricks Workspace

    2 Databricks Workspace 1 User Management Metastore Clusters SQL Warehouses User Management Metastore Clusters SQL Warehouses Access Controls Access Controls ワークスペース単位で ユーザーとメタデータを管理 Databricks Workspace Databricks Workspace Unity Catalog User Management Metastore Clusters SQL Warehouses Clusters SQL Warehouses Access Controls Unity Catalog あり ユーザーとメタデータ管理が Unity Catalog に一元化
  31. Unity Catalog によるデータ ガバナンス 以下の 4 つの分野をカバー 分野 概要 データ

    アクセス コントロール 誰がどのデータにアクセスするかをコントロール データのリネージ 上流のデータソースと下流データソースを追跡する データ ディスカバリー 資産を検索して発見する機能 データ アクセス監査 データへのすべてのアクセスを捕捉し、記録する
  32. 3 階層のネーム スペース 既存のメタストアへのシームレスなアクセス 41 SELECT * FROM main.paul.red_wine; --

    <catalog>.<database>.<table> SELECT * FROM hive_metastore.default.customers; Unity Catalog Catalog 2 Catalog 1 Database 2 Database 1 External Table Views External Tables Managed Tables hive_metastore (legacy) default (database) customers (table)
  33. データ アクセス コントロールの一元管理 アクセス許可の承諾 (Grant) と管理を Unity Catalog で一元的に行える 42

    GRANT <privilege> ON <securable_type> <securable_name> TO `<principal>` GRANT SELECT ON iot.events TO engineers Choose permission level Sync groups from your identity provider ‘Table’= collection of files in ADLS/S3 Using ANSI SQL DCL Using UI
  34. • Azure Databricks の価格 • サーバーレス以外 (Classic と Pro) •

    サーバーレス • コスト削減 Databricks SQL の価格の考え方
  35. Azure Databricks の構成 ⚫ ソフトウェア レイヤー : Databricks Unit (DBU)

    単位による時間課金 ⚫ インフラ レイヤー : Azure リソース課金
  36. Azure VM コスト ⚫ サーバーレス 以外のインフラ課金は 9 割が VM 課金

    ⚫ VM 課金は使用量関係なく、利用時間で算出 計算式 : VM コスト = VM 単価 × インスタンス数 × 稼働時間 注: ➢ インフラ リソース : VM 、マネージド ディスク、 Blob Storage 、パブリック IP アドレスなど ➢ サーバーレスのコンピューティングは Azure ではなく Databricks サブスクリプションに存在し、 インフラ レイヤーの VM 課金は発生せず、ソフトウェア レイヤー課金に包含
  37. Azure Databricks の課金 課金額全体 タイプ • VM • マネージド ディスク

    • Blob Storage • パブリック IP アドレス ソフトウェア レイヤー : Databricks インフラ レイヤー : Azure Data Science & Engineering SQL • Classic • Pro • サーバーレス
  38. DBU コスト ⚫ サーバーレス以外の DBU コストは使用量関係なく、経過時間で算出 ⚫ クラスター立ち上げ後ノータッチでも、経過時間で費用が発生 計算式: DBU

    コスト = クラスターの DBU 数 × クラスター数 × DBU の料金 × 稼働時間 注: ➢ クラスターの DBU 数はクラスター サイズによる ➢ クラスター数はスケーリングで最大最小を指定 ➢ DBU の料金はリージョン、ワークロード、価格レベルによる ➢ Classic と Pro の価格レベルは Premium のみ
  39. DBU コスト (計算例) 計算式 : (東日本の場合) DBU コスト = クラスターの

    DBU 数 × クラスター数 × DBU の料金 × 稼働時間 24 1 0.22 5.28 $/hour =
  40. DBU コスト ⚫ サーバーレスの DBU コストは使用量で算出 ⚫ クラスターはクエリ後 10 秒以内に起動

    ⚫ デフォルトで最終クエリ 10 分経過でクラスター除去 計算式 : DBU コスト = クラスターの DBU 数 × クラスター数 × DBU の料金 × 稼働時間 稼働時間 =クエリ時間 + アイドル時間 注: ➢ クラスターの DBU 数は全ワークロード共通 ➢ サーバーレス対応 (パブリック プレビュー) リージョン : 米国東部 (eastus)、米国東部 2 (eastus2)、西ヨーロッパ (westeurope) (2023 年 1 月 10 日時点) ➢ DBU の料金はワークロードと価格レベルによる ➢ 価格レベルはワークスペース作成時指定 ➢ サーバーレスの価格レベルは Premium のみ
  41. DBU の料金 (東日本リージョン) 注: ➢ https://azure.microsoft.com/ja-jp/pricing/details/databricks/ (2023 年 1 月

    10 日時点の情報) ➢ 東日本・西日本リージョンではサーバーレスは未対応 (Type: Classic) (Type: Pro)
  42. 方法 1 : DBU の事前購入 ⚫ DBU の料金は事前購入でコスト削減可能 ⚫ 1

    年か 3 年の事前購入で最大 37% 節約 DBU コストの計算式 : DBU コスト = クラスターの DBU 数 × クラスター数 × DBU の料金 × 稼働時間
  43. 方法 2 : 自動スケール (サーバーレス以外の場合) ⚫ スケーリング設定でクラスターの最大・最小を指定 ⚫ 負荷が低い状態が続くとクラスターを自動削減 ⚫

    無駄なリソースを減らしコスト削減が可能 サーバーレス以外の DBU コストの計算式 : DBU コスト = クラスターの DBU 数 × クラスター数 × DBU の料金 × 稼働時間
  44. 方法 3 : スポット インスタンス ポリシー (サーバレス以外の場合) ・ コスト最適化 (既定)

     ワーカー ノードをスポット VM で起動 ( ドライバーはオンデマンド )  スポット VM はオンデマンドの 80%+ のコスト節約  考慮事項  起動時にリージョンに余剰の VM がない場合、オンデマンドで起動  起動している際にリージョンに余剰の VM がなくなった場合、オンデマンドで再起動 ・ 信頼性最適化  ドライバー、ワーカーをオンデマンドで起動  クラスターを確実に起動したい場合や、 VM の予約容量適用の際はこちらを選択
  45. Azure Databricks の課金 (再掲) 課金額全体 Type • VM • マネージド

    ディスク • Blob Storage • パブリック IP アドレス ソフトウェア レイヤー : Databricks インフラ レイヤー : Azure Data Science & Engineering SQL • Classic • Pro サーバーレス
  46. Azure Databricks を中心としたデータ パイプライン Azure Data Lake Storage Gen2 Azure

    Databricks ゴールド ブロンズ シルバー ノートブック Azure Databricks プログラミングを用いたデータ加工 1 Databricks で満たせるニーズ SQL を用いたデータ分析・可視化 2 クラウド ストレージへの生データ格納 1 チャレンジ ノー コードのデータ加工のニーズへの対応 2 セルフ サービス BI のニーズへの対応 3 Python, JAR etc. Databricks SQL データ加工 データ分析 オンプレミス クラウド データ ? 生データ 1 ? 2 ? 3
  47. Databricks + Azure サービスを組み合わせたデータ パイプライン Azure Data Lake Storage Gen2

    Azure Databricks ゴールド ブロンズ シルバー ノートブック Azure Databricks Python, JAR etc. Databricks SQL データ加工 データ分析 Azure Data Factory Synapse パイプライン マッピング データ フロー Power BI PBI Desktop PBI Services オンプレミス クラウド データ コピー アクティビティ 生データ Azure Data Factory Synapse パイプライン プログラミングを用いたデータ加工 1 Databricks で満たせるニーズ SQL を用いたデータ分析・可視化 2 クラウド ストレージへの生データ格納 1 チャレンジ ノー コードのデータ加工のニーズへの対応 2 セルフ サービス BI のニーズへの対応 3 利用する Azure サービス Azure Data Factory / Azure Synapse Analytics の パイプライン機能 Microsoft Power BI
  48. Databricks + Azure サービスを組み合わせたデータ パイプライン Azure Data Lake Storage Gen2

    Azure Databricks ゴールド ブロンズ シルバー ノートブック Azure Databricks Python, JAR etc. Databricks SQL データ加工 データ分析 Azure Data Factory Synapse パイプライン マッピング データ フロー Power BI PBI Desktop PBI Services オンプレミス クラウド データ コピー アクティビティ 生データ Azure Data Factory Synapse パイプライン Azure Databricks で 専門のデータ エンジニア のニーズを充足できる Azure サービスを組み合わせることで 市民データ エンジニア のニーズを充足できる
  49. Azure Data Factory / Synapse パイプライン データのコピーや ETL 処理をスケジュールやイベント ベースのトリガーで実行する

    PaaS 型サービス • 100 以上の組み込みのコネクター、Azure 内外を問わず対応 • オンプレミスや外部クラウドとのハイブリッド接続に対応 • パイプラインのオーケストレーション: コピーやデータ フロー、 各種 Azure サービスの実行、分岐や繰り返しなどの制御 • 直感的な実行モニタリング
  50. マッピング データ フロー • 変換 (Transformation) と呼ばれるパーツを組み合わせてノーコードで ETL 処理を作成 •

    Spark クラスター上で 処理が実行されるため大規模なデータに対応可能 和名 英名 説明 集約 Aggregate 既存の列または計算列によってグループ化される、SUM、 MIN、MAX、COUNT などのさまざまな種類の集計を 定義できます。 派生列 Derived column データ フローの言語を使用して、新しい列を生成するか、 既存のフィールドを変更します。 フラット化 Flatten JSON などの階層構造体の中で配列値を取得し、それ らを個々の行に展開します。 結合 Join 2 つのソースまたはストリームのデータを結合します。 選択 Select 別名列とストリーム名、列のドロップまたは並べ替え シンク Sink お使いのデータの最終受信先 ソース Source データ フローのデータ ソース 和集合 Union 複数のデータ ストリームを垂直方向に結合する (代表的な変換の例) (変換の一覧) https://docs.microsoft.com/ja-jp/azure/data-factory/data-flow-transformation-overview
  51. Power BI プラットフォーム データの取得・加工・可視化まで 一貫したデスクトップツール Power BI コンテンツを 共有・管理する基盤環境 Power

    BI コンテンツを Web / モバイルデバイスで参照/分析 Power BI サービス Power BI Desktop ブラウザ Power BI モバイル
  52. デモ シナリオ CSV 注文 CSV 注文明細 Zip 小売 データセット Delta

    Lake 注文 Delta Lake 注文明細 Delta Lake 注文サマリー Azure Data Lake Storage Gen2 Azure Databricks Power BI Desktop Databricks SQL ウェアハウス レポート Synapse パイプライン コピー & Zip 展開 CSV から Delta Lake に変換 注文を日別に 集計 データ フロー #2 データ フロー #1 コピー アクティビティ GitHub (匿名 HTTPS アクセスが可能な パブリック リポジトリに格納) Synapse パイプラインのコピー アクティビティ 1 Synapse パイプラインのマッピング データ フロー 2 Databricks SQL ウェアハウスによる分析 3 Power BI Desktop のレポートによる分析 4
  53. デモ シナリオ Synapse パイプラインのコピー アクティビティ 1 Synapse パイプラインのマッピング データ フロー

    2 Databricks SQL ウェアハウスによる分析 3 Power BI Desktop のレポートによる分析 4 CSV 注文 CSV 注文明細 Zip 小売 データセット Delta Lake 注文 Delta Lake 注文明細 Delta Lake 注文サマリー Azure Data Lake Storage Gen2 Azure Databricks Power BI Desktop Databricks SQL ウェアハウス レポート Synapse パイプライン コピー & Zip 展開 CSV から Delta Lake に変換 注文を日別に 集計 データ フロー #2 データ フロー #1 コピー アクティビティ GitHub (匿名 HTTPS アクセスが可能な パブリック リポジトリに格納)
  54. デモ シナリオ Synapse パイプラインのコピー アクティビティ 1 Synapse パイプラインのマッピング データ フロー

    2 Databricks SQL ウェアハウスによる分析 3 Power BI Desktop のレポートによる分析 4 CSV 注文 CSV 注文明細 Zip 小売 データセット Delta Lake 注文 Delta Lake 注文明細 Delta Lake 注文サマリー Azure Data Lake Storage Gen2 Azure Databricks Power BI Desktop Databricks SQL ウェアハウス レポート Synapse パイプライン コピー & Zip 展開 CSV から Delta Lake に変換 注文を日別に 集計 データ フロー #2 データ フロー #1 コピー アクティビティ GitHub (匿名 HTTPS アクセスが可能な パブリック リポジトリに格納)
  55. デモ シナリオ Synapse パイプラインのコピー アクティビティ 1 Synapse パイプラインのマッピング データ フロー

    2 Databricks SQL ウェアハウスによる分析 3 Power BI Desktop のレポートによる分析 4 CSV 注文 CSV 注文明細 Zip 小売 データセット Delta Lake 注文 Delta Lake 注文明細 Delta Lake 注文サマリー Azure Data Lake Storage Gen2 Azure Databricks Power BI Desktop Databricks SQL ウェアハウス レポート Synapse パイプライン コピー & Zip 展開 CSV から Delta Lake に変換 注文を日別に 集計 データ フロー #2 データ フロー #1 コピー アクティビティ GitHub (匿名 HTTPS アクセスが可能な パブリック リポジトリに格納)