このチュートリアルでは、Azure Data Lake Storage Gen2 の Delta テーブルに書き込む Stream Analytics ジョブを作成する方法について説明します。 このチュートリアルでは、以下の内容を学習します。
- サンプル データをイベント ハブに送信するイベント ジェネレーターをデプロイする
- Stream Analytics のジョブの作成
- 差分テーブルを使用して Azure Data Lake Storage Gen2 を構成する
- Stream Analytics ジョブを実行する
[前提条件]
開始する前に、次の手順を実行します。
- Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。
- TollApp イベント ジェネレーターを Azure にデプロイします。このリンクを使用して TollApp Azure テンプレートをデプロイします。 'interval' パラメーターを 1 に設定します。 この手順では、新しいリソース グループを作成して使用します。
- Data Lake Storage Gen2 アカウントを作成します。
Stream Analytics のジョブの作成
Azure portal にサインインします。
左側のメニューから、 [すべてのサービス] を選択します。
[分析] セクションで Stream Analytics ジョブの上にマウスを移動し、[ + (プラス)] を選択します。
Azure Portal の左上隅にある [リソースの作成] を選択します。
結果一覧から Analytics>Stream Analytics ジョブ を選択します。
[ 新しい Stream Analytics ジョブ ] ページで、次の手順に従います。
- [サブスクリプション] で、Azure サブスクリプションを選択します。
- リソース グループの場合は、TollApp デプロイで前に使用したのと同じリソースを選択します。
- [名前] に、ジョブの名前を入力します。 Stream Analytics ジョブ名には英数字、ハイフン、アンダースコアのみを含めることができます。長さは 3 ~ 63 文字にする必要があります。
- [ホスティング環境] で、[クラウド] が選択されていることを確認します。
- [ ストリーム ユニット] で 、[1] を選択します。 ストリーミング ユニットは、ジョブの実行に必要なコンピューティング リソースを表します。 ストリーミング ユニットのスケーリングについては、ストリーミング ユニットの 理解と調整に関する記事を 参照してください。
ページの下部にある [ 確認と作成 ] を選択します。
[ 確認と作成 ] ページで設定を確認し、[ 作成 ] を選択して Stream Analytics ページを作成します。
デプロイ ページで、[ リソースに移動 ] を選択して Stream Analytics ジョブ ページに移動します。
ジョブ入力の構成
次の手順では、TollApp デプロイで作成されたイベント ハブを使用して、ジョブがデータを読み取るための入力ソースを定義します。
前のセクションで作成した Stream Analytics ジョブを見つけます。
Stream Analytics ジョブの [ ジョブ トポロジ ] セクションで、[入力] を選択 します。
[ + 入力の追加] と [イベント ハブ] を選択します。
TollApp Azure Template を使用して作成した次の値を入力フォームに入力します。
[入力エイリアス] に「entrystream」と入力します。
サブスクリプションから [イベント ハブの選択] を選択します。
[サブスクリプション] で、Azure サブスクリプションを選択します。
Event Hub 名前空間の場合は、前のセクションで作成したイベント ハブ名前空間を選択します。
残りの設定で既定のオプションを使用し、[ 保存] を選択します。
ジョブ出力の構成
次の手順では、ジョブがデータを書き込むことができる出力シンクを定義します。 このチュートリアルでは、Azure Data Lake Storage Gen2 の Delta テーブルに出力を書き込みます。
Stream Analytics ジョブの [ ジョブ トポロジ ] セクションで、[ 出力 ] オプションを選択します。
[ + 出力の追加]>Blob storage/ADLS Gen2 を選択します。
出力フォームに次の詳細を入力し、[ 保存] を選択します。
[出力エイリアス] に「DeltaOutput」と入力します。
サブスクリプションから [Blob Storage/ADLS Gen2 の選択] を選択します。
[サブスクリプション] で、Azure サブスクリプションを選択します。
ストレージ アカウントの場合は、作成した ADLS Gen2 アカウント (tollapp で始まるアカウント) を選択します。
コンテナーの場合は、[新規作成] を選択し、一意のコンテナー名を指定します。
[イベントのシリアル化形式] で、[Delta Lake] を選択します。 ここでのオプションの 1 つとして Delta Lake が一覧表示されていますが、データ形式ではありません。 Delta Lake では、バージョン付き Parquet ファイルを使用してデータを保存します。 Delta Lake の詳細については、こちらを参照してください。
Delta table path には、tutorial folder/delta table と入力します。
残りの設定で既定のオプションを使用し、[ 保存] を選択します。
クエリを作成する
この時点で、受信データ ストリームを読み取る Stream Analytics ジョブが設定されています。 次の手順では、データをリアルタイムで分析するクエリを作成します。 クエリでは、Stream Analytics に固有の拡張機能を含む SQL に似た言語が使用されます。
次に、左側のメニューの [ジョブ トポロジ] で [クエリ] を選択します。
クエリ ウィンドウに次のクエリを入力します。 この例では、クエリは Event Hubs からデータを読み取り、選択した値を ADLS Gen2 の Delta テーブルにコピーします。
SELECT State, CarModel.Make, TollAmount INTO DeltaOutput FROM EntryStream TIMESTAMP BY EntryTimeツール バーの [クエリの保存] を選択します。
Stream Analytics ジョブを開始して出力をチェックする
Azure portal でジョブの概要ページに戻り、[開始] を選択 します。
[ ジョブの開始 ] ページで、[ジョブ出力の開始時刻] に [ 今すぐ ] が選択されていることを確認し、ページの下部にある [開始 ] を選択します。
数分後、ポータルで、ジョブの出力として構成したストレージ アカウントとコンテナーを見つけます。 コンテナーで指定されたフォルダーにデルタ テーブルが表示されるようになりました。 ジョブが最初に開始されるまでに数分かかります。開始すると、データが到着するに従って実行し続けます。
リソースをクリーンアップする
不要になったら、リソース グループ、Stream Analytics ジョブ、およびすべての関連リソースを削除します。 ジョブを削除すると、ジョブによって消費されるストリーミング ユニットの課金が回避されます。 そのジョブを将来使用する予定がある場合は、必要になったときに停止して後で再起動することができます。 このジョブを引き続き使用しない場合は、次の手順を使用して、このチュートリアルで作成されたすべてのリソースを削除します。
- Azure portal の左側のメニューで、[リソース グループ] を選択し、作成したリソースの名前を選択します。
- リソース グループ ページで、[削除] を選択し、削除するリソースの名前をテキスト ボックスに入力して、[削除] を選択します。
次のステップ
このチュートリアルでは、単純な Stream Analytics ジョブを作成し、受信データをフィルター処理し、結果を ADLS Gen2 アカウントの Delta テーブルに書き込みます。 Stream Analytics ジョブの詳細については、以下を参照してください。