1. はじめに

皆さんこんにちは。
今回からMicrosoft Fabricについての連載ブログを始めていきます。
全9回を予定しています。第1回ではFabricの概要と試用版の作成方法について説明いたします。

第1回:Microsoft Fabric 概要と試用版の作成方法

第2回:Power BI ユーザー向け Fabric チュートリアル

第3回:Data Factory ユーザー向け Fabric チュートリアル

第4回:Data Activator ユーザー向け Fabric チュートリアル (進行中)​

第5回:Industry Solutions ユーザー向け Fabric チュートリアル ​(進行中)​

第6回:Synapse Data Engineering ユーザー向け Fabric チュートリアル (進行中)​

第7回:Synapse Data Science ユーザー向け Fabric チュートリアル (進行中)​

第8回:Synapse Data Warehouse ユーザー向け Fabric チュートリアル (進行中)​

第9回:Synapse Real-Time Analytics ユーザー向け Fabric チュートリアル (今回)​

前回のブログで、Microsoft Fabric の Synapse Data Warehouse の使用方法について説明しました。今回は、実際のシナリオに通して Synapse Real-Time Analytics の使用方法について説明していきます。

Fabricのリアルタイム分析方法について説明したいと思います。

Microsoftから公開されているチュートリアルに沿って構築していきたいと思います。( Real-Time Analytics チュートリアル パート 1 – リソースの作成 – Microsoft Fabric | Microsoft Learn

2. 前提要件

実施する際の前提条件は以下の通りです。

開始する前に、組織に対して Fabric を有効にする必要があります。

まだサインアップしていない場合は、無料試用版にサインアップしてください

3. FabricのReal Time Analyticsとは

Real-Time Analytics は、ストリーミングと時系列データ向けに最適化されたビッグ データ分析プラットフォームです。高効率なパフォーマンスのクエリ言語とエンジンで、構造化、半構造化、非構造化データを検索できます。Real-Time Analytics は、データの読み込み、データの変換、データの視覚化等、その他のFabric 製品に統合されています。

4. 実際のシナリオからReal Time Analyticsの使用方法

シナリオ:

ニューヨーク イエロー タクシー乗車データと呼ばれるサンプル ストリーミング データに基づいて、データを集計し、インサイトを出し、Power BIでレポートを作成します。

5. KQLデータベースの作成

KQLデータベースの作成

Kusto 照会言語 (KQL)は、構造化データ、半構造化データ、非構造化データに対してクエリを実行するためのシンプルで強力な言語です。

① データベースを作成するワークスペースに遷移します。

② 左下の「リアルタイム分析」 を選択します。

③ 左上にある「+ 新規」>「KQL データベース」を選択します。

④ データベース名として「NycTaxiDB」と入力します。

⑤「作成」を選択します。

OneLake フォルダーをアクティブにします。

①「データベースの詳細」で、「鉛筆」アイコンを選択します。

② ボタンを「アクティブ」に切り替え、「完了」を選択します。

6. Eventstream使用し、データの取得

Eventstreamとは

Microsoft Fabric のイベント ストリーム機能はコードなしのエクスペリエンスでリアルタイム イベントをキャプチャ、変換、およびさまざまな宛先にルーティングするための Fabric プラットフォーム内の一元的な場所を提供します。

Eventstream の作成

① Real-Time Analytics のホームページに戻ります。

②「Get Data」>「Eventstream」>「New Eventstream」を選択します。

③ Eventstream名として「NyTaxiTripsEventstream」と入力し、「作成」を選択します。Eventstream ランディング ページが表示されます。

Eventstream から KQL データベースにストリーミングデータの入力

①「New source」>「Sample Data」を選択します。

② ソース名として「nytaxitripsdatasource」と入力し、「Sample Data」のドロップダウンから「Yellow Taxi」を選択します。

③「 New destination」>「KQL Database」を選択します。

④「Data Ingestion Mode」で、「Direct Ingest」を選択します。

⑤「KQL Database」で、次のようにフィールドに入力します。

・ Destination name : nytaxidatabase

・ Workspace : 現状のワークスペース

・ KQL Database : NycTaxiDB

⑥「add configure」を選択し、データ 入力画面が開きます。

KQL データベースへのデータ読み込みの構成

①「New Table」 を選択し、テーブル名として「nyctaxitrips」と入力します。

② 設定タブでの既定値を確認します。詳細フィルターでの「圧縮」は「None」と選択します。

データの定義

「形式」ドロップダウンから「JSON」を選択します。

データ型の変更

①「Edit columns」を選択して、次の列のデータ型を変更します。

②「適用」を選択して、変更を保存します。

③「完了」を選択します。

7. 履歴 のデータの取得

BLOB ストレージからディメンション データの取得

① GitHub で Fabric サンプルを開き、Locations データをダウンロードします

② ファイルをローカルに保存します。

③ NycTaxiDB の KQL データベースを開きます。

④「Get Data」を選択します。

⑤「ローカル ファイル」 を選択します。

⑥「New Table」を選択し、テーブル名に「Locations」を選択します。

⑦ GithubからダウンロードしたCSVファイルを「Upload file」にドラグ・ドロップします。

⑧「次へ」を選択します。

⑨「完了」を選択します。

⑩「データ準備」では、3 つの緑色ステップをチェックします。

8. KQLとSQLでデータの使用

KQLでデータを使用する

Kusto Query Language(KQL)は、データを分析して結果を返すための、読み取り専用のクエリです。KQLの要求は、読みやすく、作りやすいデータフロー モデルを利用してプレーンテキストで提示されます。クエリは常に、特定のテーブルまたはデータベースのコンテキストで実行されます。Kusto 照会言語について詳しくは、「Kusto 照会言語 (KQL) の概要」を参照してください。

① KQLデータベース「NycTaxiDB」へ移動する。

②「エクスプローラー」ウィンドウで、nyctaxitrips テーブルを選択する。 次に、「テーブルの照会」>「任意の 100 件のレコードを表示する」を選択する。

③「Run」ボタンを押して、結果が表示されます。

④「エクスプローラー」 ウィンドウで、nyctaxitrips テーブルのその他メニュー「…」を選択します。色々なインサイトが取得できます。

・ 過去24 時間のレコードを表示する

・ テーブルスキーマを取得する

・ 前回に取り込んだ時刻を取得する

・ すべてのレコードを表示する

・ 1時間あたりの処理件数を表示する

SQLでデータを使用する

Fabricを使用したデータ分析する際、KQLを使用することがMicrosoftから推奨されるが、KQLに対応しない統合ツールに対してReal-Time AnalyticsのSQLでサポートします。

① NycTaxiDB KQLデータベースへ移動する。

②「エクスプローラー」 ウィンドウで、nyctaxitrips テーブルのその他メニュー「…」を選択します。 「テーブルの照会」 > SQL > 「任意の 100 件のレコードを表示する」を選択する。

9. 高度なKQLクエリの使用

高度なKQLでデータを使用する

次の例でKQLのメリットを紹介します。

KQLクエリ セットを作成します

① NycTaxiDB というKQL データベースへ移動します。

②「エクスプローラー」ウィンドウで「新しい関連アイテム」>「KQL クエリセット」を選択します。

③ KQLクエリセット名をnyctaxiqsとして入力します。

④「作成」を選択します。

⑤ KQLクエリセットの画面が以下のように表示されます。

データのクエリ

KQLはクエリから結果を実行して視覚化します。

① 次のクエリを実行すると、ニューヨーク市のイエロー タクシーの乗車場所の上位 10 位の結果を返します。

Kusto:

② Yellow Taxis データに基づく名付けのトップ 10 の乗車ポイントを縦棒グラフで表示されます。

Kusto:

③ KQLは、異常を検知するための機械学習の関数を提供します。

Kusto:

series_decompose_forecast 関数で時間ごとに使用の必要なタクシー数を予測します。

Kusto:

10. Power BIでレポートの作成

Power BIでレポートを作成する

Power BI レポートは、さまざまな観点を1つのセマンティック モデルに集約することができます。これはマルチパースペクティブ表示ともいえます。

① 次のクエリをコピーしてKQL クエリセットに貼り付けると、このクエリの出力がセマンティック モデルとして使用されます。

Kusto:

② クエリ内のどこかにカーソルを置き、「Power BI レポートの構築」を選択します。

③ Power BI レポート エディターが開き、Kusto Query Resultというクエリの結果が表示されます。

④ レポート エディターで、「Visualizations」(視覚化) >「Map」(マップ) アイコン    を選択します。

⑤ 次のオプションを選択して、地図に表示させます。

・「Borough」(自治区) >「Legend」(凡例)
・「Latitude」(緯度) >「Latitude」(緯度)
・「Longitude」(経度) >「Longitude」(経度)
・「Count」(数) >「Bubble size」(バブルのサイズ)

視覚化を追加する

①「Stacked Bar Chart」(積み上げ横棒グラフ) アイコンを選択します。

②「Borough」(自治区) フィールドを Y 軸に、「Count」(数) を X 軸にドラッグします。

11. まとめ

Microsoft Fabric の Synapse Real-Time Analytics の使用方法をについて実施してみました。 今回の記事が少しでも Microsoft Fabric を知るきっかけや、業務のご参考になれば幸いです。

第1回:Microsoft Fabric 概要と試用版の作成方法

第2回:Power BI ユーザー向け Fabric チュートリアル

第3回:Data Factory ユーザー向け Fabric チュートリアル

第4回:Data Activator ユーザー向け Fabric チュートリアル (進行中)​

第5回:Industry Solutions ユーザー向け Fabric チュートリアル ​(進行中)​

第6回:Synapse Data Engineering ユーザー向け Fabric チュートリアル (進行中)​

第7回:Synapse Data Science ユーザー向け Fabric チュートリアル (進行中)​

第8回:Synapse Data Warehouse ユーザー向け Fabric チュートリアル (進行中)​

第9回:Synapse Real-Time Analytics ユーザー向け Fabric チュートリアル (今回)​