Microsoft が提供しているSaaS型のサービスである Microsoft Fabric (以下、Fabric)の機能である Eventstream と Eventhouse を触ってみたのでまとめます。
Eventstream とは
Fabircの機能の一つで、以下のようなこと可能であり、サンプル用のデータが用意されているため簡単に利用することができます。
- 様々なデータソースからリアルタイムにイベントを取り込む
- 処理のフローをGUI画面で簡単に操作
- データを取り込む際に簡単なデータの加工処理
上記の記事内にある「拡張機能」については、現在は作成時に自動で有効になるようです。
Eventhouse とは
レイクハウスやウェアハウスなどと同じデータストアの一つで、リアルタイムデータ専用のストアです。
KQL (Kusto Query Language) をクエリ言語として使用でき、スケーラブルなストリーム取り込みと高速集計が特徴です。 learn.microsoft.com
作成手順
Eventhouse の作成
まず、最初に Eventhouse を作成します。
※ Eventstream にて Eventhouse を宛先に指定する際には新規作成ができないため、前もって作成する必要があります
ワークスペースの「+新しい項目」から「イベントハウス」を選択します。

「イベントハウス name」に任意の名前を入力して、「create」を選択します。

以上で Eventhouse の作成は完了です。
※ 最初の一つ目となるデータベースは自動で作成されます。

Eventstreamの作成
ワークスペースの「+新しい項目」から「Eventstream」を選択します。

「新しい Eventstream」の「名前」に任意の名前を入力して、「作成」を選択します。

ストリーム設定の編集
Eventstream が作成されたら「ソースの追加」から「サンプルデータ」を選択します。

今回は「Stock Market」を選択します。

ソースを選択して「作成」をクリックすると、処理フローの編集画面に遷移します。この画面で、取り込み前の処理や取り込んだデータの宛先を指定します。

このまま宛先を追加してデータを取り込もうとすると lastSalePrice などの数値として欲しいフィールドも文字列として取り込まれてしまいます。
後々レポートを作ろうとする時などに困るため、最初にフィールドの型の変換処理を追加します。
「フィールドの管理」を選択します。

追加された「ManageFields」の編集ボタンをクリックします。

「すべてのフィールドを追加」を選択します。

全てのフィールドが表示されるので、以下のようにフィールドの型を変更し「保存」を選択します。
※ 他のフィールドについては変更せず、そのままにします。
| フィールド名 | 変換された型 |
|---|---|
| bidPrice | int64 |
| bidSize | int64 |
| askPrice | int64 |
| askSize | int64 |
| lastSalePrice | int64 |
| lastSaleSize | int64 |

次に、宛先を追加します。「宛先の追加」から「Eventhouse」を選択します。

Eventhouse には「直接インジェスト」と「インジェスト前のイベント処理」の2つの取り込みモードがあります。取り込みモードは後から変更はできません。
今回は、データを取り込む前に型の変換処理を行うので「インジェスト前のイベント処理」を指定します。
他の値は以下のように指定します。全ての指定が完了したら「保存」を選択します。
| 項目名 | 設定値 |
|---|---|
| 宛先名 | (任意) |
| ワークスペース | 宛先のEventhouseが存在するワークスペース |
| Eventhouse | 宛先のEventhouse |
| KQLデータベース | 宛先のデータベース |
| KQL変換先テーブル | 宛先のテーブル(新規作成可) |
| 入力データ形式 | json |

以下のようにManegeFields から Eventhouse に向けてラインをつなげます。
※ この操作で矢印の方向も決まります。なお、逆方向(EventhouseからManegeFields方向)へはつなげられません。

「公開」を選択し、作成した内容を確定します。

これで、ストリームのデータが Eventhouse のテーブルに格納されていきます。

※ タイミングによっては、最初のデータが格納されるまで時間がかかることがあります。
Eventhouseでのデータの確認
ワークスペースなどからEventhouseに移動し、宛先に指定したテーブルを選択すると、データが格納されていることを確認できます。
KQLのクエリを実行して結果を確認することができます。いくつかの簡単なクエリはメニューから直接実行できます。

また、「Create Power BI report」のボタンから、直接 Power BI のレポートを作成することもできます。
以下のようにPower BIのレポート編集画面が表示され、レポートの作成ができます。

まとめ
今回の記事では Eventstream と Eventhouse を使用してのデータの取り込みからレポートでの確認までを実施しました。
2つとも今回初めて触ってみましたが、大体は直感的に操作でき、あまり躓くこともありませんでした。
試しに触ってみたいという方も Fabric は無料の試用版があり、今回使用した Eventstream のようにサンプルデータが組み込まれていることも多いので、最初のハードルは低いかと思います。
この記事が参考になれば幸いです。