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

ハンズオンで学ぶ Databricks - Databricksにおけるデータエンジニアリング

Takaaki Yayoi
January 25, 2025

ハンズオンで学ぶ Databricks - Databricksにおけるデータエンジニアリング

1. 座学(1時間)
- Databricks概要
- データエンジニアリングとは
- ETL処理
- メダリオンアーキテクチャ
- Delta Live Tables
- オーケストレーション
2. ハンズオン(1.5時間)
- Databricksにおけるデータエンジニアリング
- Delta Live Tables

Takaaki Yayoi

January 25, 2025
Tweet

More Decks by Takaaki Yayoi

Other Decks in Technology

Transcript

  1. ©2025 Databricks Inc. — All rights reserved 1 1 ハンズオンで学ぶ

    Databricks Databricksにおけるデータエンジニアリング 2025/1/24 Databricks Japan 弥生 隆明
  2. ©2024 Databricks Inc. — All rights reserved 自己紹介 弥生 隆明

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

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

    Databricks概要 b. データエンジニアリングとは c. ETL処理 d. メダリオンアーキテクチャ e. Delta Live Tables f. オーケストレーション 2. ハンズオン(1.5時間) a. Databricksにおけるデータエンジニアリング b. Delta Live Tables
  5. データ+AIカンパニー クリエーター 10,000+ グローバルのお客様 $2.4B+ 年間収益 4B+ の投資 レイクハウス の

    発明者 生成AIの パイオニア LEADER 2023 Cloud Database Management Systems LEADER 2024 Data Science & Machine Learning Analytic Stream Processing
  6. ディザスターリカバリ コストコントロール エンタープライズセキュリティ 100% サーバレス レイクハウス AI/BI ビジネス インテリジェンス Databricks

    SQL データウェアハウス Workflows/DLT 取り込み、ETL ストリーミング Mosaic AI 人工知能 Databricksデータインテリジェンスプラットフォーム
  7. ディザスターリカバリ コストコントロール エンタープライズセキュリティ 100% サーバレス レイクハウス AI/BI ビジネス インテリジェンス Databricks

    SQL データウェアハウス Workflows/DLT 取り込み、ETL ストリーミング Mosaic AI 人工知能 Databricksデータインテリジェンスプラットフォーム
  8. ©2025 Databricks Inc. — All rights reserved データエンジニアリングとは 分析などでデータを活用できるようにするための営みです データエンジニアリングとは、様々なソースや

    フォーマットで提供される生のデータを収集、分析 できるようにする システムの設計、構築に関する プロセスを意味します。このようなシステムによっ て、ユーザーはビジネスの成長に つながる実践的なデータアプリケーションを 作り出すことが可能となります。 9 What Is Data Engineering?
  9. ©2025 Databricks Inc. — All rights reserved データエンジニアリングとは なぜ、データエンジニアリングが重要なのでしょうか? 企業の規模に関係なく、すべての企業が重要なビジネス上の質問に回答するために調査する必

    要がある膨大な量の様々なデータを所有しています。データエンジニアリングは、 アナリスト、データサイエンティスト、エグゼクティブのようなデータ利用者がすべてのデータを 信頼しながら、クイックかつセキュアに調査できるようにするためのプロセスをサポート するこ とを目的としています。 データが様々テクノロジーによって管理され、多様な構造で格納されているため、データアナリス トは課題に直面にしています。さらに、分析で使用するツールはデータが同じ テクノロジーで管理され、同じ構造で格納されていることを前提としています。 10 What Is Data Engineering?
  10. ©2025 Databricks Inc. — All rights reserved データエンジニアリングとは データエンジニアは何をするのでしょうか? データエンジニアリングは、需要の高まっているスキルです。

    データエンジニアは、 データを統合し、あなたたちがナビゲートする助けとなるシステムを設計する人たち です。データエンジニアは以下を含む様々なタスクを実行します: • 取得:ビジネスに関連するすべての様々なデータセットを特定します • クレンジング: データにおけるすべてのエラーを特定し、綺麗にします • 変換:すべてのデータに共通的なフォーマットを与えます • 曖昧性の除去: 複数の方法で解釈し得るデータを解釈します • 重複排除: データの重複したコピーを排除します これらが完了すると、データレイクやデータレイクハウスのような中央リポジトリに データを格納することができます。また、データエンジニアはデータのサブセットを データウェアハウスにコピー、移動することができます。 11 What Is Data Engineering?
  11. ©2025 Databricks Inc. — All rights reserved データエンジニアリングとは データエンジニアリングのツールとスキル データエンジニアは以下を含む様々なツールとテクノロジーを扱います:

    • ETLツール: ETL(抽出、変換、ロード)ツールはシステム間でデータを移動します。データにア クセスし、分析により適した形にするためにデータを変換します。 • SQL: 構造化クエリー言語(SQL)はリレーショナルデータベースへのクエリーにおける標準言 語です。 • Python: Pythonは汎用プログラミング言語です。データエンジニアはETLタスクでPythonを 使うことがあります。 • クラウドデータストレージ : Amazon S3、Azure Data Lake Storage(ADLS)、Google Cloud Storageなど • クエリーエンジン : 回答を得るためにデータに対してクエリーを実行するエンジン。データエン ジニアは、Dremio Sonar、Spark、Flinkなどのエンジンを取り扱います。 12 What Is Data Engineering?
  12. AIプロジェクトに従事する人々 13 ビジネスアナリスト データエンジニア データサイエンティスト • 分析データや機械学習モデルのアウトプットからビジネス示唆を抽出する • データ分析に至るデータパイプラインを構築し質の高いデータを提供する •

    データサイエンティストの構築するモデルをデプロイし定常的なビジネス価値創 出を実現する • 分析データを理解し、適切な機械学習モデルを選択 • パラメータチューニングを通じてベストモデルを構築する
  13. 14 ビジネスアナリスト データエンジニア • どのような示唆が求められているのか • どのようなデータを分析すべきか • どのような観点で分析すべきか •

    どのようなデータが求められているのか • どのデータソースとの連携が必要か • どのような変換処理が必要か • 取得、更新頻度、性能の要件は データパイプラインを 通じたデータの提供 データ種別、品質などに対 する要望や フィードバック データエンジニアとビジネスアナリスト
  14. 15 ビジネスアナリスト データエンジニア • データモデリング • SQL • ETLプロセスの経験 •

    分析のマインドセット • データモデリング • 高度なSQL • 複雑なETLプロセスの実装 • データエンジニアリングのマ インドセット • プログラミング言語の知識 • データパイプラインツール • SDLCの知識 • ガバナンスの実践 転用 拡張 拡張 転換 (ほぼ)新規 データエンジニアとビジネスアナリスト
  15. BIツール Op. DB バッチ & ストリーム データ コラボレーション ビジネスアナリストから見たDatabricks ストレージ

    データサイエンス & 生成AI 処理、ETL、リアルタイム分析 オーケストレーション データとAIのガバナンス バッチ & ストリーム データウェアハウス データインテリジェンスエンジン データインテリジェンスプラットフォーム フェデレーショ ン ETL AIアプリ 3rd party ビジネスアプリ 連携 取り込み 変換 分析 ソース サービング クエリーと処理 ダッシュボード Spark / Photon Delta Live Tables Databricks SQL ワークフロー Auto loader マーケットプ レース アシスタント データ ルーム AI/BI レイクハウスモ ニタリング Hugging Face OpenAI IDプロバイダ ガバナンス AIサービス モデル サービング Vector Search ML モデリング Mosaic AI カタログ & リ ネージ アクセス 制御 Unity Catalog MLOps 生成AI 特徴量 サービング … ドメイン 鍵管理 鍵 モデル / 特徴量 DatabricksIQ センサーとIoT (非構造化) RDBMS (構造化) ビジネスアプリ (非構造化) メディア (非構造化) 他のクラウド ビジネスアプリ ファイル / ログ (半構造化) IDプロバイダ エンタープライズカタ ログ クラウドストレージ AIアプリ RDBMS (構造化) 取り込み ツール イベント ストリーミング RDBM, KVストア データ利用 BIツール Delta Lake Delta Sharing bronze silver gold
  16. BIツール Op. DB バッチ & ストリーム データ コラボレーション データエンジニアから見たDatabricks ストレージ

    データサイエンス & 生成AI 処理、ETL、リアルタイム分析 オーケストレーション データとAIのガバナンス バッチ & ストリーム データウェアハウス データインテリジェンスエンジン データインテリジェンスプラットフォーム フェデレーショ ン ETL AIアプリ 3rd party ビジネスアプリ 連携 取り込み 変換 分析 ソース サービング クエリーと処理 ダッシュボード Spark / Photon Delta Live Tables Databricks SQL ワークフロー Auto loader マーケットプ レース アシスタント データ ルーム AI/BI レイクハウスモ ニタリング Hugging Face OpenAI IDプロバイダ ガバナンス AIサービス モデル サービング Vector Search ML モデリング Mosaic AI カタログ & リ ネージ アクセス 制御 Unity Catalog MLOps 生成AI 特徴量 サービング … ドメイン 鍵管理 鍵 モデル / 特徴量 DatabricksIQ センサーとIoT (非構造化) RDBMS (構造化) ビジネスアプリ (非構造化) メディア (非構造化) 他のクラウド ビジネスアプリ ファイル / ログ (半構造化) IDプロバイダ エンタープライズカタ ログ クラウドストレージ AIアプリ RDBMS (構造化) 取り込み ツール イベント ストリーミング RDBM, KVストア データ利用 BIツール Delta Lake Delta Sharing bronze silver gold
  17. ©2025 Databricks Inc. — All rights reserved Extract(抽出) ソースシステムからデータをExtract(抽出)します 20

    • 最初のステップは、業務システム、API、センサーデータ、マーケティングツール、 トランザクションデータベースなど、さまざまなソースからのデータの抽出 を行います。これら のデータタイプには、広く使用されている構造化データであることもあれば、半構造化のJSON 形式の可能性もあります。抽出には、次のような3つの手法があります。 • 更新通知: 最も簡単なデータの取得方法はレコード変更時にソースシステムによって通知 される場合です。 • 増分抽出: 全てのシステムが更新を通知できるわけではありませんが、特定の期間に変 更されたレコードを指定し、それらのレコードを抽出できます。 • 完全抽出: 変更されたデータをまったく特定できないシステムがあります。この場合、完全 抽出によってのみシステムからデータを抽出できる可能性があります。
  18. ©2025 Databricks Inc. — All rights reserved Transform(変換) ロードする形式にデータをTransform(変換)します 21

    • 次のステップは、ソースから抽出された未加工のデータを、別のアプリケーションで使用で きる形式への変換 です。運用上のニーズを満たすために、データのクレンジング、マッピン グ、変換(多く場合、特定のデータスキーマに変換)が行われます。 • 変換プロセスでは、データの品質と整合性を確保するために、いくつかのタイプの 変換が行われます。データは通常、ターゲットデータウェアハウスに直接ロードされず、ステー ジングデータベースにアップロードされるのが一般的です。 • このステップにより、計画どおりに処理が行われない場合の迅速なロールバックを 保証します。この段階において、規制遵守に関する監査レポートを作成したり、データの問題 を診断して修復したりすることができます。
  19. ©2025 Databricks Inc. — All rights reserved Load(ロード) ターゲットシステムにデータをLoad(ロード)します 22

    • 最後に、ロード機能は変換されたデータをステージング領域からターゲットデータベースに 書き込むプロセスです。 • ターゲットデータベースには、データが以前に存在していた場合とそうでない場合があります。 アプリケーションの要件に応じて、このプロセスは非常に単純にも、複雑にもなり得ます。これ らの各ステップは、ETL ツールやカスタムコードで実行可能です。
  20. ©2023 Databricks Inc. — All rights reserved データ 取り込み 最適化Spark

    COPY INTO Auto Loader 生の取り込みデータ 履歴 Bronze 整理されたデータ フィルタリング クレンジング、拡張 Silver ビジネスレベルの 集計データ Gold Photon ETL ストリーミング 最適化Spark Python, SQL, Scala, R ジョブ スケジューラ 揮発性 クラスター バッチ取り込みと オーケストレーション ストリーミング イベント クラウドの取り込み オプションの サービング レイヤー DatabricksにおけるETL処理
  21. ©2025 Databricks Inc. — All rights reserved メダリオンアーキテクチャとは ETLパイプラインを設計・構築する際の整理学です 25

    • メダリオンアーキテクチャは、レイクハウスに格納されているデータの品質を示す 一連のデータレイヤーを表現します。 • 企業のデータプロダクトに対して信頼できる唯一の情報源(single source of truth)を 構築するために、Databricksではマルチレイヤーのアプローチを取ることをお勧め しています。 • このアーキテクチャは、公立的な分析に最適化されたレイアウトでデータ格納される前の検 証、変換を行う複数のレイヤーをデータが追加する際の、原子性、一貫性、 分離性、耐久性を保証します。ブロンズ(生)、シルバー(検証済み)、ゴールド(拡張済み)という 用語はそれぞれのレイヤーにおけるデータの品質を表現しています。
  22. ©2025 Databricks Inc. — All rights reserved メダリオンアーキテクチャ CSV JSON

    TXT Bronze Silver Gold AIやレポート ストリーミング分析 データ品質 Databricks Auto Loader
  23. ©2025 Databricks Inc. — All rights reserved メダリオンアーキテクチャ ブロンズレイヤー 通常は取り込みデータの生のコピー

    従来のデータレイクを置き換え 完全かつ未処理のデータ履歴に対する効率的なストレージを提供しクエ リーを可能に 27 Bronze
  24. ©2025 Databricks Inc. — All rights reserved メダリオンアーキテクチャ シルバーレイヤー データストレージの複雑性、レーテンシー、冗長性を削減

    ETLのスループットやクエリー性能を最適化 オリジナルデータの粒度を保持 (集計なし) 重複レコードの排除 プロダクションのスキーマを強制 データ品質のチェック、破損データの検疫 28 Silver
  25. ©2025 Databricks Inc. — All rights reserved メダリオンアーキテクチャ ゴールドレイヤー MLアプリケーション、レポート、ダッシュボード、

    アドホック分析を支援 通常は集計を用いて洗練されたデータビューを提供 プロダクションシステムの負荷を軽減 ビジネス上重要なデータのクエリー性能を最適化 29 Gold
  26. ©2025 Databricks Inc. — All rights reserved データ専門家としての人生… From: The

    CEO <[email protected]> Subject: ASAPで分析をお願い ! To: Michael Armbrust <[email protected]> やあ、マイケル。正味の顧客数に対するクイックな分析 が必要で、過去の数クォーターでどのように変化したの かを知りたいんだ。生データは s3://our-data-bucket/raw_data/… にあるから 頼んだよ。 ???
  27. ©2025 Databricks Inc. — All rights reserved クエリーからプロダクションへ SQLクエリーを信頼できるETLパイプラインにするにはうんざりするような作業が必要です CREATE

    TABLE raw_data as SELECT * FROM json.`…` CREATE TABLE clean_data as SELECT … FROM raw_data From: The CEO <[email protected]> Subject: ASAP で分析をお願い ! To: Michael Armbrust <[email protected]> 素晴らしいレポートだ! 毎日アップデートして もらえる? 毎分
  28. ©2025 Databricks Inc. — All rights reserved クエリーからプロダクションに至る重い作業 SQLクエリーを信頼できるETLパイプラインにするにはうんざりするような作業が必要です CREATE

    TABLE raw_data as SELECT * FROM json.`…` CREATE TABLE clean_data as SELECT … FROM raw_data 依存関係の 管理 日次の パーティション 計算 チェック ポイント & リトライ 品質チェック ガバナンス データの検知 バックフィル対 応 バージョン管理 インフラのデプロイ
  29. ©2025 Databricks Inc. — All rights reserved オペレーションの複雑性がほとんどです 変換処理ではなくツールの準備 に時間が費やされます

    CREATE TABLE raw_data as SELECT * FROM json.`…` CREATE TABLE clean_data as SELECT … FROM raw_data 依存関係の 管理 日次の パーティション 計算 チェック ポイント & リトライ 品質チェック ガバナンス データの検知 バックフィル対 応 バージョン管理 インフラのデプロイ
  30. ©2025 Databricks Inc. — All rights reserved あなたがフォーカスすべき領域 データから価値を抽出 Dependency

    Management Daily Partition Computation Checkpointin g & Retries Quality Checks Governance Data Discovery Backfill Handling Version Control Deployment Infrastructure CREATE TABLE raw_data as SELECT * FROM json.`…` CREATE TABLE clean_data as SELECT … FROM raw_data
  31. ©2025 Databricks Inc. — All rights reserved Unity Catalog Repos

    Databricksワークフロー Delta Live Tablesのご紹介 LIVEを追加するだけでクエリーからプロダクションパイプラインへ CREATE STREAMING TABLE raw_data as SELECT * FROM read_files(…) CREATE MATERIALIZED VIEW clean_data as SELECT … FROM LIVE.raw_data 依存関係 の管理 インクリメンタ ル処理 チェック ポイント & リトライ エクスペクテーション フル リフレッシュ Delta Live Tables
  32. ©2025 Databricks Inc. — All rights reserved 宣言型プログラミングのご紹介 宣言型プログラムはどのようにするのかではなく何をすべきかを記述します numbers

    = […] sum = 0 for n in numbers: sum += n print(n) SELECT sum(n) FROM numbers 命令型プログラム 宣言型プログラム クエリーオプティマイザがsumを 計算するベストな方法を特定します データの依存関係 (パーティショニング、ストレージ ロケーション、インデックスなど) 物理構造が変化した際にクエリーを 記述する必要はありません
  33. ©2025 Databricks Inc. — All rights reserved DLTによる宣言型プログラミング 宣言型プログラムはどのようにするのかではなく何をすべきかを記述します date

    = current_date() spark.read.table(“orders”) .where(s"date = $date") .select("sum(sales)") .write .mode(“overwrite”) .replaceWhere(s"date = $date") .table("sales") CREATE MATERIALZED VIEW sales AS SELECT date, sum(sales) FROM orders GROUP BY date Sparkの命令型プログラム DLTの宣言型プログラム DLTランタイムがこのテーブルを作 成、更新するベストな方法を特定し ます
  34. ©2025 Databricks Inc. — All rights reserved ワークフローかDLTか? 大抵両方です :

    DLTを含むすべてをワークフローはオーケストレートできます すべてのタスクの実行にワーク フローを使用 • スケジュールで実行 • 他のタスクが完了したら実行 • ファイルが到着したら実行 • 他のテーブルが更新された実行 42 データフローの管理にDLTを使用 • Deltaテーブルの作成/更新 • 構造化ストリーミングの実行
  35. ©2025 Databricks Inc. — All rights reserved DLTのコアの抽象化 データセットを定義すると、DLTは自動でそれらを最新の状態に維持します 43

    ストリーミングテーブル (複数の)ストリームが書き込まれる Deltaテーブル 用途: • データの取り込み • 低レーテンシーの変換処理 • 大規模データ マテリアライズドビュー Deltaテーブルに格納される クエリーの結果 用途: • データの変換 • 集計テーブルの構築 • BIのクエリーとレポートの 高速化
  36. ©2025 Databricks Inc. — All rights reserved ストリーミングテーブルとは? • ストリーミングテーブルはKafka、Kinesis

    Auto Loader(クラウドストレージ上のファイ ル)のような追加オンリーのデータソースから 読み込みを行います • ストリーミングテーブルは、それぞれの入力レ コードを一度だけ読み込むことで、コストと レーテンシーを削減します • ストリーミングテーブルはアドホックなデータ 操作(GDPR等)のためのDML(UPDATE, DELETE, MERGE)を サポートします 構造化ストリーミングが書き込みを行うDeltaテーブルです 44 CREATE STREAMING TABLE report AS SELECT * FROM read_files("/mydata/", "json")
  37. ©2025 Databricks Inc. — All rights reserved マテリアライズドビューとは? 事前に計算され、Deltaに格納されるクエリーの結果です 45

    CREATE MATERIALIZED VIEW report AS SELECT sum(profit) FROM prod.sales GROUP BY date • マテリアライズドビューは、最後に アップデートされた際の定義済み クエリーの結果を常に返却します(スナップ ショット) • マテリアライズドビューのデータを変更するこ とはできません。クエリーを変更することはで きます。
  38. ©2025 Databricks Inc. — All rights reserved Pythonの活用 import dlt

    @dlt.table def report(): df = spark.table("LIVE.events") return df.select(…) spark.udf.register( "complex_function", lambda x: …) • データフレームを返却する任意の関数に@dlt.tableを追 加します。 • 単一のパイプラインでSQL/Pythonのノートブックを混 成、マッチさせます。 • しかし、単一のノートブックではすべてPythonか すべてSQLである必要があります(ノートブック レベルで混成、マッチはできません) • PySpark、Koalas、SQL文字列を用いてデータ フレームを構成できます。 高度なデータフレームのコードとUDFの記述 46
  39. ©2025 Databricks Inc. — All rights reserved エクスペクテーションによる適正性の保証 CONSTRAINT valid_timestamp

    EXPECT (timestamp > '2012-01-01’) ON VIOLATION DROP @dlt.expect_or_drop( "valid_timestamp", col("timestamp") > '2012-01-01') エクスペクテーションは処理の過程で それぞれの行の検証に用いられるtrue/falseの エクスプレッションです。 DLTはエクスペクテーションの違反レコードに対 する柔軟なポリシーを提供します: • 不正レコード数の追跡 • 不正レコードの削除 • 一つの不正レコードで処理を中止 • 検疫 (提供予定、あるいはクックブックのレシ ピをお使いください) エクスペクテーションはプロダクションのデータ品質を保証するテストです 47
  40. ©2025 Databricks Inc. — All rights reserved 48 パイプラインの作成 DatabricksのUIによるパイプラインの作成方法

    CREATE ST/MVの記述 ノートブックやファイルで パイプラインの作成 スタートをクリック • ノートブックでテーブル定義を記 述します。 • Databricks Reposによってテー ブル定義のバージョン 管理が可能になります。 • 一つのパイプラインでは、 一つ以上のノートブックと 必要な設定を組み合わせ ます。 • DLTはパイプラインのすべての テーブルを作成、更新 します。
  41. ©2023 Databricks Inc. — All rights reserved Databricksワークフローとは? すべてのクラウド で誰もが高信頼のデータ、分析、AIワークフローを構築できる

    完全マネージド のレイクハウスオーケストレーションサービス 完全マネージド 完全マネージドのオーケストレー ションサービスによって運用オー バーヘッドを取り除くことで、イン フラストラクチャの管理ではなく ワークロード自身にフォーカス。 プラットフォームと密接に インテグレーション お使いのレイクハウスプラット フォーム向けに設計され組み込 まれているので、すべてのワー クフローに対する深いモニタリン グ機能と集中管理された観測能 力を提供。 何でもどこでも オーケストレーション すべてのクラウドで完全なデータ とAIのライフサイクルにおける 様々なワークロードを実行。 Delta Live Tables、SQL、 Spark、ノートブック、dbt、MLモ デルなどのジョブをオーケスト レーション。 シンプルなワークフロー作成 特殊スキルを持つ人に限らず データチームの誰でも活用でき る簡単なポイント&クリックの作 成体験。 データ、分析、 AIのための高信頼オーケストレーション 立証された信頼性 AWS、Azure、GCPで日々実行 されている数千万のプロダクショ ンワークロードで立証された信 頼性に基づいて安心してワーク ロードを実行。 https://www.databricks.com/jp/product/workflows
  42. ©2023 Databricks Inc. — All rights reserved Databricksワークフロー - ワークフロージョブ

    51 ▪ これは何? DAGによる容易なコードの作成、スケジュール、オー ケストレーション (有効非巡回グラフ) ▪ キーとなる機能 ▪ シンプルさ : UIでの容易な作成とモニタリング ▪ ワークロードに合わせた多数のタスク タイプ ▪ プラットフォームに完全にインテグレーション され ており、結果の調査とデバッグを迅速に ▪ 立証されたDatabricksスケジューラの信頼性 ▪ 容易にステータスをモニタリングする観測 可能性 ワーク フロー ジョブ タスクの DAG
  43. ©2023 Databricks Inc. — All rights reserved Databricksジョブのサンプル Notebook、DLT、Python wheelタスクによるジョブ

    (DAG) 52 Power BIのデータ セットのアップデー ト Python Wheel SQLServerから顧 客データをコピー ノートブック スタースキーマ モデルの作成 Delta Live Tables SQLServerから注 文データをコピー ノートブック SQLServerから地 域データをコピー ノートブック カスタムライブラリを用いた Databricksクラスター
  44. ©2023 Databricks Inc. — All rights reserved Databricksジョブのサンプル 53 Databricksノートブック

    (Python、SQL、Scala) Notebook、DLT、Python wheelタスクによるジョブ (DAG) Power BIのデータ セットのアップデー ト Python Wheel SQLServerから顧 客データをコピー ノートブック スタースキーマ モデルの作成 Delta Live Tables SQLServerから注 文データをコピー ノートブック SQLServerから地 域データをコピー ノートブック
  45. ©2023 Databricks Inc. — All rights reserved Databricksジョブのサンプル 54 Delta

    Live Tablesパイプライン (Triggeredモード) Notebook、DLT、Python wheelタスクによるジョブ (DAG) Power BIのデータ セットのアップデー ト Python Wheel SQLServerから顧 客データをコピー ノートブック スタースキーマ モデルの作成 Delta Live Tables SQLServerから注 文データをコピー ノートブック SQLServerから地 域データをコピー ノートブック
  46. ©2023 Databricks Inc. — All rights reserved Databricksジョブのサンプル 55 Power

    BIデータセットに対する APIコールを 行うPython wheel import requests r = requests.get('https://docs.microsoft.com/en-us/ resGET https://api.powerbi.com/v1.0/myorg/groups/{grou pId}/datasets/{datasetId}/refreshes?$top={$top} ', auth=('user', 'pass')) r.status_code Notebook、DLT、Python wheelタスクによるジョブ (DAG) Power BIのデータ セットのアップデー ト Python Wheel SQLServerから顧 客データをコピー ノートブック スタースキーマ モデルの作成 Delta Live Tables SQLServerから注 文データをコピー ノートブック SQLServerから地 域データをコピー ノートブック
  47. ©2023 Databricks Inc. — All rights reserved 複数タスクのジョブの作成 56 タスクタイプを選択:

    • ノートブック • Jar • Spark Submit • Python • Delta Live Tables • Python Wheel • dbt • Databricks SQL
  48. ハンズオンの流れ 61 1. ETL処理 • 簡単なデータを対象に、データの抽出(Extract)、データの変換(Transform)、ロード(Load)を 体験いただきます。ここでは、SparkのPython APIであるPySparkを使用 します。 •

    使用するノートブック: 1. データ取り込み、 2. データ変換とロード 2. はじめてのジョブ実行 • 上で作成したノートブックが自動で実行されるようにジョブを組んで実行します。 • 使用するノートブック: 1. データ取り込み、 2. データ変換とロード、 3. はじめてのジョブ実行 3. Delta Live Tables(DLT) • 上と同じデータを用いて、Delta Live TablesによるETL処理を行います。 • 使用するノートブック: 4. Delta Live Tables