Microsoft Fabric(以降、Fabricと記載)は、データの収集や処理、変換、リアルタイム分析、レポート作成などの機能を統合した企業向けのSaaS型プラットフォームです。
今回は、試用版のFabricを使用して、データの取得、加工、ウェアハウスへの格納を自動化するパイプラインの構築とパイプライン実行完了時にOutlookへ通知する方法を前編・後編に分けて紹介します。
データの準備
今回利用する「penguins.csv」ファイルを入手するために、以下サイトにアクセスします。
https://github.com/MicrosoftLearning/dp-data
ここから、「penguins.csv」を押下します。
「Raw」を押下します。
以下URLを控えておきます。
https://raw.githubusercontent.com/MicrosoftLearning/dp-data/refs/heads/main/penguins.csv
※Fabricにデータを取り込む際に、このURLを使用します。
これで、データの準備が完了しました。
レイクハウスの作成
データの取り込み先となるレイクハウスを作成します。
Microsoft Fabricトップページを開いて左下の「Microsoft Fabric」を選択し、メニューバーから「Data Engineering」を押下し、Data Engineeringホーム画面を開きます。
メニューバーの「作成」>「レイクハウス」の順に押下します。
任意の名前を入力し、新しいレイクハウス(test_lakehouse)を作成します。
これでレイクハウスの作成が完了しました。この時点では、レイクハウス内にデータはありません。
パイプラインによるデータの取り込み
作成したレイクハウス(test_lakehouse)に、パイプラインを使用してデータを取り込んでいきます。
メニューバーの「作成」>「Data pipeline」の順に押下します。
任意の名前を入力して、新しいパイプライン(test_pipeline)を作成します。
ホームの「データコピー」>「キャンバスに追加」の順に押下します。
「データのコピー」を選択状態にし、「ソース」>「選択」>「詳細」の順に押下します。
検索箇所に「http」と入力し、新しいソース「HTTP」を押下します。
接続設定のURLに、先ほど控えておいた生データファイルのURLを貼り付けて「接続」を押下します。
「ソース」の「接続」に貼り付けたURLが指定されていることを確認したら、ファイル形式で「DelimitedText」を選択し、「ファイル形式の設定」を押下します。
下図のように設定し、「OK」を押下します。
続いて、「宛先」の設定を変更します。宛先に作成したレイクハウス(test_lakehouse)を指定するために、「宛先」>「選択」>「詳細」の順に押下します。
検索箇所に「test_lakehouse」と入力し、レイクハウス(test_lakehouse)を選択します。
「宛先」の各項目の設定は以下のようにします。
接続 | test_lakehouse |
ルートフォルダー | ファイル |
ファイルパス | newdata / penguins.csv |
ファイル形式 | DeelimitedText |
ファイル形式の「設定」を押下します。
下図のように設定し、「OK」を押下します。
これで「データのコピー」の設定が完了しました。「保存」>「実行」の順に押下し、作成したパイプラインを実行します。
「出力」でパイプラインが正常に終了したことを確認します。
ここで、レイクハウス(test_lakehouse)の中身を見てみます。エクスプローラーの「Files」を展開し、「newdata」フォルダーに「penguins.csv」ファイルがコピーされていることを確認します。
これで、パイプライによるデータの取り込みが完了しました。
ウェアハウスの作成
データ加工後の格納先となるウェアハウスを作成します。メニューバーの「作成」>「ウェアハウス」の順に押下します。
任意の名前を入力して、新しいウェアハウス(test_warehouse)を作成します。
これでウェアハウスの作成が完了しました。
データフローによるデータの加工
レイクハウス(test_lakehouse)に生データ(penguins.csv)を取り込んだだけでは、下図のように空白があることから、データの加工が必要となります。
データフローへのインポート
データの加工は、データフローを使用します。メニューバーから「作成」>「データフロー(Gen2)」の順に押下します。
データフローの画面左上(下図の赤枠)をクリックすることで、データフローの名前を変更することができます。今回は「test_dataflow」という名前に変更しました。
「データを取得」>「詳細」の順に押下します。
データソースの選択でレイクハウス(test_lakehouse)を選択します。
「test_lakehouse」>「ファイル」>「newdata」>「penguins.csv」の順に押下し、「penguins.csv」ファイルを選択した状態で、「作成」を押下します。
これで、データフロー(test_dataflow)へ生データ(penguins.csv)のインポートが完了しました。
データの加工
インポートされたファイルを見ると、ヘッダーが正しく認識されていないことが分かります。
「変換」>「1行目をヘッダーとして使用」を押下し、テーブルの1行目をヘッダーとします。
続いて、テーブル内の空白行を削除します。任意の列の「▼」>「空の削除」の順に押下します。
これでデータの加工が完了しました。
データ加工後の同期先設定
データフローでクリーニングされたテーブルは、ウェアハウス(test_warehouse)に格納されるように設定します。
データの同期先の「+」>「ウェアハウス」の順に押下します。
「次へ」を押下します。
「新しいテーブル」にチェックが入っていることを確認し、ウェアハウス「test_warehouse」を選択し、「次へ」を押下します。今回はテーブル名を「penguins-table」として設定しています。
既定値のまま「設定の保存」を押下します。
これで同期先設定が完了し、データフローによるデータ加工後にウェアハウス(test_warehouse)に格納されるようになりました。最後に「公開」を押下し、データフローを反映させます。
ここで、ウェアハウス(test_warehouse)の中身を見てみます。「Schemas」>「dbo」>「Tables」配下に「penguins-table」が格納されていることを確認します。
これで、ウェアハウスへの同期設定が完了しました。
まとめ
今回は、データ処理を自動化するパイプラインを構築するうちの、「データのコピー」アクティビティを用いたデータを収集するパイプラインと、データ加工を行うための「データフロー」の作成までを実施しました。
後半では、前半に作成した「データのコピー」アクティビティと「データフロー」をパイプライン上での接続に加え、スケジュール設定を行い、データ処理を自動化するパイプラインを構築します。また、パイプラインの実行完了時の通知設定を行い、最後にはデータの可視化を実施します。