Microsoft FabricのEventstreamとEventhouseを使ってみた

Microsoft が提供しているSaaS型のサービスである Microsoft Fabric (以下、Fabric)の機能である Eventstream と Eventhouse を触ってみたのでまとめます。

Eventstream とは

Fabircの機能の一つで、以下のようなこと可能であり、サンプル用のデータが用意されているため簡単に利用することができます。

  • 様々なデータソースからリアルタイムにイベントを取り込む
  • 処理のフローをGUI画面で簡単に操作
  • データを取り込む際に簡単なデータの加工処理

learn.microsoft.com

上記の記事内にある「拡張機能」については、現在は作成時に自動で有効になるようです。

learn.microsoft.com

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 のようにサンプルデータが組み込まれていることも多いので、最初のハードルは低いかと思います。

この記事が参考になれば幸いです。

執筆担当者プロフィール
白谷 恭一

白谷 恭一(日本ビジネスシステムズ株式会社)

2010年中途入社。得意な技術領域はLinux/Hadoopで、現在はデータ分析基盤の運用を担当。趣味はゲーム、温泉巡り。

担当記事一覧