このチュートリアルでは、Stream Analytics no コード エディターを使用して、リアルタイム データ ストリームの集計を計算し、それらを Azure Synapse Analytics に格納する方法について説明します。
このチュートリアルでは、次の作業を行う方法について説明します。
- イベント ハブにデータを送信するイベント ジェネレーターをデプロイする
- no コード エディターを使用して Stream Analytics ジョブを作成する
- 入力データとスキーマを確認する
- グループ化するフィールドを選択し、カウントなどの集計方法を定義する
- 結果の書き込み先となる Azure Synapse Analytics を構成する
- Stream Analytics ジョブの実行
- Power BI でのデータの視覚化
前提条件
開始する前に、次の手順を完了してください。
- Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
- TollApp イベント ジェネレーターを Azure にデプロイします。 このリンクを使用して 、TollApp Azure テンプレートをデプロイします。
intervalパラメーターを 1 に設定します。 この手順では、新しいリソース グループを使用します。 - 専用 SQL プールが備わった Azure Synapse Analytics ワークスペースを作成します。
- 専用 SQL プールを使用して、という名前の
carsummaryします。 次の SQL スクリプトを実行します。CREATE TABLE carsummary ( Make nvarchar(20), CarCount int, times datetime ) WITH ( CLUSTERED COLUMNSTORE INDEX ) ;
ノー コード エディターを使用して Stream Analytics のジョブを作成する
TollApp イベント ジェネレーターをデプロイしたリソース グループを見つけます。
Azure Event Hubs 名前空間を選択します。
[Event Hubs 名前空間] ページで、左側のメニューの [エンティティ] で [イベント ハブ] を選択します。
entrystreamインスタンスを選択します。[ 機能 ] セクションで、[ データの処理 ] に移動し、[空白のキャンバスで 開始 ] テンプレートで [開始] を選択します。
ジョブに
carsummaryという名前を付け、[作成] を選択します。イベント ハブの構成ページで、次の設定を確認し、[接続] を選択します。
数秒以内に、サンプル入力データとスキーマが表示されます。 フィールドの削除、フィールド名の変更、またはデータ型の変更を選択できます。
コマンド バーで [操作] を選んでから、[グループ化] を選びます。
キャンバスで [グループ化] タイルを選択し、それをイベント ハブ タイルに接続します。
次のように指定して、[グループ化] タイルを構成します。
[グループ化] を選び、ページの下部にある [データのプレビュー] タブでグループ化されるデータを確認します。
コマンド バーで、[操作] を選んでから [フィールドの管理] を選びます。
[グループ化] と [フィールドの管理] タイルをリンクします。
[フィールドの管理] ページで、次の手順のようにします。
[Manage fields](フィールドの管理) 構成ページの [Add all fields](すべてのフィールドを追加する) を選択します。
フィールドの横にある [...] を選択し、[編集] を選択して名前を変更します。
[フィールドの管理] ページで [完了] を選びます。 [Manage fields](フィールドの管理) ページは次の画像のようになります。
[フィールドの管理] タイルを選び、ページの下部にある [データのプレビュー] タブで操作に流れ込むデータを確認します。
コマンド バーで [出力] を選んでから、[Synapse] を選びます。
[Synapse] タイルをキャンバスの [Manage fields](フィールドの管理) タイルに接続します。
[Synapse] 設定ページで、次の手順のようにします。
[ジョブ ストレージ アカウント] がまだ設定されていない場合は、リソース グループで Azure Data Lake Storage アカウントを選びます。 これは、Synapse SQL がデータ ウェアハウスにデータを読み込むために使うストレージ アカウントです。
Azure Synapse Analytics が置かれている Azure サブスクリプションを選びます。
前のセクションで
carsummaryテーブルを作成するために使った専用 SQL プールのデータベースを選びます。認証のためのユーザー名とパスワードを入力します。
テーブル名として「
carsummary」と入力します。[接続] を選択します。 Synapse SQL テーブルに書き込まれたサンプル結果が表示されます。
[Synapse] タイルを選び、ページの下部にある [データのプレビュー] タブを表示します。 データが専用 SQL プールに流れ込むことがわかります。
[Stream Analytics ジョブの開始] ページで、[開始] を選んでジョブを実行します。
ノーコード エディターを使って作成されたすべての Stream Analytics ジョブの一覧が表示されます。 2 分以内に、ジョブは [実行中] 状態になります。 ページの [最新の情報に更新 ] ボタンを選択すると、[作成済み] -> [開始中] -> [実行中] からの状態の変化が表示されます。
Power BI の視覚化を作成する
最新バージョンの Power BI Desktop をダウンロードします。
Azure Synapse SQL 用の Power BI コネクタを使います。
DirectQuery を使用してデータベースに接続し、このクエリを使用してデータベースからデータをフェッチする
SELECT [Make],[CarCount],[times] FROM [dbo].[carsummary] WHERE times >= DATEADD(day, -1, GETDATE())[ データベース ] タブに切り替え、資格情報 (ユーザー名とパスワード) を入力してデータベースに接続し、クエリを実行します。
[ 読み込み] を選択して Power BI にデータを読み込みます。
その後、次のように指定して折れ線グラフを作成できます
- X 軸を [times] にする
- Y 軸を CarCount に設定
- 凡例を設定して、公開できるグラフとして表示されるようにします。
ページの自動更新を構成し、3 分に設定すると、リアルタイムのビューを取得できます。
その他のオプション
Azure Synapse SQL に加えて、SQL Database をコードなしのエディター出力として使用してストリーミング データを受信することもできます。 Power BI コネクターを使用して SQL Database に DirectQuery を用いて接続し、リアルタイム ダッシュボードを構築します。
また、ストリーミング データを使用してリアルタイム ダッシュボードを構築することもできます。 SQL Database 出力の詳細については、「変換して SQL データベースに取り込む」を参照してください。
リソースをクリーンアップする
- Event Hubs インスタンスを見つけて、[ プロセス データ ] セクションの Stream Analytics ジョブの一覧を表示します。 実行中のジョブをすべて停止します。
- TollApp イベント ジェネレーターのデプロイ時に使用したリソース グループに移動します。
- [リソース グループの削除] を選択します。 削除を確認するには、リソース グループの名前を入力します。
次のステップ
このチュートリアルでは、No コード エディターを使用して集計を定義し、結果を Azure Synapse Analytics に書き込む Stream Analytics ジョブを作成しました。 次に、Power BI を使用してリアルタイム ダッシュボードを作成し、ジョブによって生成された結果を確認しました。