概要この記事では、Azure Databricks のデータを Microsoft Fabric の Lakehouse に取り込み、データマートを作成し、Power BI で可視化するまでの一連の手順を解説します。Dataflow Gen2 を用いたデータ連携から、Lakehouse における集約処理、Power BIのセマンティックモデル作成まで、実際に動かしたユースケースをもとに紹介します。Fabric と Databricks をどのように連携させるのかを、実装手順とあわせて整理していきます。全体構成Databricks(元データ) ↓ Dataflow Gen2(Databricksから必要なデータを抽出し、Lakehouseに流す) ↓Lakehouse - レイクハウス(Dataflow経由で取得したDatabricks上のデータを保持) ↓ Lakehouse - SQLエンドポイント(Databricks上のデータを分析用に加工) ↓Semantic Model(PBI用) ↓Power BI レポート(データの可視化)ユースケース作成手順1. Databricks ― 分析元データの準備今回作成するユースケースではAzure Databricks上に sales_detail / dim_product の二つのDeltaテーブルを作成します。sales_detailのcsvファイルdim_productのcsvファイル上記リンクからCSVファイルをダウンロードしたら、以下の手順に沿ってDeltaテーブルを作成していきます。サイドバーから データの取り込み を選択し、テーブルを作成または変更 を押下します。先程ダウンロードしたCSVファイルをアップロードします。アップロード後プレビューが表示されるので、問題なければ右下の テーブルを作成 を押下します(sales_detail、dim_productのどちらも行います)。サイドメニューから カタログ を選択し、指定したカタログのスキーマにテーブルが作成されていることを確認します。テーブルを押下し、プレビューが閲覧できることを確認する。2. Lakehouse ― Fabric上のデータ保管場所の作成外部データソース(今回はAzure Databricks)から取り込んだデータを、Fabric内で保存・加工・分析するためのデータ基盤である Lakehouse を作成します。作業用のワークスペースに移動し、左上の 新しい項目 を押下します。検索バーに Lakehouse と入力し、レイクハウス を選択します。レイクハウス名を入力後、ワークスペースが正しいことを確認し、作成 を押下します。作成したワークスペースに移動し、レイクハウス と、SQL分析エンドポイント が作成されたことを確認します。3. Dataflow Gen2 ― データ抽出・Fabricへの取り込みDataflow Gen2を使用してデータソースとなるAzure Databricksに接続し、テーブル単位でデータを抽出後、Lakehouseに出力します。※ 後で必要になる接続情報をDatabricks上で事前に確認しておきます。Databricksのサイドメニューから SQLウェアハウス を選択し、先ほどテーブルを作成したSQLウェアハウスを選択します。接続の詳細 タブを押下して、サーバーの ホスト名・HTTPパス を確認します。作業用のワークスペースに移動して、左上の 新しい項目 を押下します。検索バーに Dataflow と入力して、データフロー(Gen2) を選択します。データフロー名を入力して、作成 を押下します。データフローを作成するとデータソースの選択画面が表示されます。検索バーに Databricks と入力して、Azure Databricks を選択します。先ほどAzure Databricks上で確認した サーバー名・HTTPパス を入力します。その後、任意の 認証の種類 を選択して認証を完了させます。※ ユースケースでは、組織アカウント で認証しました。認証が完了するとDatabricks側のDeltaテーブルのプレビューが表示されるので、先ほど作成したテーブル(sales_detail、dim_product)を選択して、作成 を押下します。作成できたら、Azure Databricks上のデータをLakehouseに流し込むために、左上にある 保存と実行 というボタンを押下します。4. Lakehouse ― 分析用データの保存・加工先程レイクハウスを作成しました。レイクハウスを作成するとFabricによって自動的に SQL 分析エンドポイントが作成されます。SQL分析エンドポイントでは具体的に以下のようなことが可能です。T-SQL を使用してDeltaテーブルにクエリを実行 する。Power BIを直接接続する。読み取り専用アクセスを共有する。今回のユースケースでは最終的にPower BIでの可視化を行うため、このLakehouse SQL分析エンドポイントでデータマートを作成していきます。作業中のワークスペースのホームに移動し、先ほど作成したレイクハウスを見つけます。レイクハウスの下に、SQL分析エンドポイント が作成されているので、それを押下します。新規SQLクエリ を押下します。クエリエディタが開くので、データマート用のSQLを貼り付けます。貼り付けたクエリをすべて選択し、ビューとして保存 を押下します。Viewを保存するスキーマを選択してビュー名を入力後、OKを押下します。作成時に選択したスキーマの Views にViewが作成されたことを確認します。5. Semantic Model ― BI向けデータモデルの構築次に、Power BIでのレポート作成に向けたセマンティックモデルの作成を行います。先程のSQL分析エンドポイントの画面の上部リボンのうちの、新しいセマンティックモデル から作成できます。新しいセマンティックモデル を押下します。セマンティックモデル名・ワークスペース を確認後、先ほど作成したViewを選択し、確認 を押下します。ワークスペースのホームに移動し、セマンティックモデルが作成されたことを確認します。6. Power BI ― データ可視化とレポート作成先程作成したセマンティックモデルをもとにPower BI(Web版)を使用してレポートを作成します。ワークスペースのホームからセマンティックモデルを選択します。出てきた画面の左上の 開く を押下します。左上の File を選択して、新しいレポートの作成 を押下します。無題のレポート が作成されたことを確認します。(以下のようなレポートを作成しました)留意すべき点LakehouseのSQLエンドポイントではDDLを実行することができません。Databricksのデータが追加されてもFabric側には自動反映されません。そのため、実運用する場合はDataflowの定期実行設定をする必要があります。CLOVE合同会社は、企業のデータ活用を推進するための戦略策定、データ基盤構築、データ分析、AI活用支援を提供するコンサルティング会社です。 データ活用の専門家として、マーケティング、営業、業務効率化など幅広い領域で支援を行っております。貴社の課題や目的に応じた最適な設計をご提案しますので、ご興味がありましたらぜひこちらからお気軽にご相談ください。