次の方法で共有


チュートリアル: Azure Data Lake Storage Gen2 に格納されている差分テーブルに書き込む

このチュートリアルでは、Azure Data Lake Storage Gen2 の Delta テーブルに書き込む Stream Analytics ジョブを作成する方法について説明します。 このチュートリアルでは、以下の内容を学習します。

  • サンプル データをイベント ハブに送信するイベント ジェネレーターをデプロイする
  • Stream Analytics のジョブの作成
  • 差分テーブルを使用して Azure Data Lake Storage Gen2 を構成する
  • Stream Analytics ジョブを実行する

[前提条件]

開始する前に、次の手順を実行します。

Stream Analytics のジョブの作成

  1. Azure portal にサインインします。

  2. 左側のメニューから、 [すべてのサービス] を選択します。

  3. [分析] セクションで Stream Analytics ジョブの上にマウスを移動し、[ + (プラス)] を選択します。

    [すべてのサービス] ページでの Stream Analytics ジョブの選択を示すスクリーンショット。

  4. Azure Portal の左上隅にある [リソースの作成] を選択します。

  5. 結果一覧から Analytics>Stream Analytics ジョブ を選択します。

  6. [ 新しい Stream Analytics ジョブ ] ページで、次の手順に従います。

    1. [サブスクリプション] で、Azure サブスクリプションを選択します。
    2. リソース グループの場合は、TollApp デプロイで前に使用したのと同じリソースを選択します。
    3. [名前] に、ジョブの名前を入力します。 Stream Analytics ジョブ名には英数字、ハイフン、アンダースコアのみを含めることができます。長さは 3 ~ 63 文字にする必要があります。
    4. [ホスティング環境] で、[クラウド] が選択されていることを確認します。
    5. [ ストリーム ユニット]、[1] を選択します。 ストリーミング ユニットは、ジョブの実行に必要なコンピューティング リソースを表します。 ストリーミング ユニットのスケーリングについては、ストリーミング ユニットの 理解と調整に関する記事を 参照してください。

    [Stream Analytics ジョブの作成] ページを示すスクリーンショット。

  7. ページの下部にある [ 確認と作成 ] を選択します。

  8. [ 確認と作成 ] ページで設定を確認し、[ 作成 ] を選択して Stream Analytics ページを作成します。

  9. デプロイ ページで、[ リソースに移動 ] を選択して Stream Analytics ジョブ ページに移動します。

ジョブ入力の構成

次の手順では、TollApp デプロイで作成されたイベント ハブを使用して、ジョブがデータを読み取るための入力ソースを定義します。

  1. 前のセクションで作成した Stream Analytics ジョブを見つけます。

  2. Stream Analytics ジョブの [ ジョブ トポロジ ] セクションで、[入力] を選択 します

  3. [ + 入力の追加][イベント ハブ] を選択します。

    [入力] ページを示すスクリーンショット。

  4. TollApp Azure Template を使用して作成した次の値を入力フォームに入力します。

    1. [入力エイリアス]「entrystream」と入力します。

    2. サブスクリプションから [イベント ハブの選択] を選択します

    3. [サブスクリプション] で、Azure サブスクリプションを選択します。

    4. Event Hub 名前空間の場合は、前のセクションで作成したイベント ハブ名前空間を選択します。

    5. 残りの設定で既定のオプションを使用し、[ 保存] を選択します。

      入力イベント ハブの選択を示すスクリーンショット。

ジョブ出力の構成

次の手順では、ジョブがデータを書き込むことができる出力シンクを定義します。 このチュートリアルでは、Azure Data Lake Storage Gen2 の Delta テーブルに出力を書き込みます。

  1. Stream Analytics ジョブの [ ジョブ トポロジ ] セクションで、[ 出力 ] オプションを選択します。

  2. [ + 出力の追加]>Blob storage/ADLS Gen2 を選択します。

    [出力] ページを示すスクリーンショット。

  3. 出力フォームに次の詳細を入力し、[ 保存] を選択します。

    1. [出力エイリアス] に「DeltaOutput」と入力します

    2. サブスクリプションから [Blob Storage/ADLS Gen2 の選択] を選択します

    3. [サブスクリプション] で、Azure サブスクリプションを選択します。

    4. ストレージ アカウントの場合は、作成した ADLS Gen2 アカウント (tollapp で始まるアカウント) を選択します。

    5. コンテナーの場合は、[新規作成] を選択し、一意のコンテナー名を指定します。

    6. [イベントのシリアル化形式] で、[Delta Lake] を選択します。 ここでのオプションの 1 つとして Delta Lake が一覧表示されていますが、データ形式ではありません。 Delta Lake では、バージョン付き Parquet ファイルを使用してデータを保存します。 Delta Lake の詳細については、こちらを参照してください。

    7. Delta table path には、tutorial folder/delta table と入力します。

    8. 残りの設定で既定のオプションを使用し、[ 保存] を選択します。

      出力の構成を示すスクリーンショット。

クエリを作成する

この時点で、受信データ ストリームを読み取る Stream Analytics ジョブが設定されています。 次の手順では、データをリアルタイムで分析するクエリを作成します。 クエリでは、Stream Analytics に固有の拡張機能を含む SQL に似た言語が使用されます。

  1. 次に、左側のメニューの [ジョブ トポロジ] で [クエリ] を選択します。

  2. クエリ ウィンドウに次のクエリを入力します。 この例では、クエリは Event Hubs からデータを読み取り、選択した値を ADLS Gen2 の Delta テーブルにコピーします。

     SELECT State, CarModel.Make, TollAmount
     INTO DeltaOutput
     FROM EntryStream TIMESTAMP BY EntryTime
    
  3. ツール バーの [クエリの保存] を選択します。

    ジョブのクエリを示すスクリーンショット。

Stream Analytics ジョブを開始して出力をチェックする

  1. Azure portal でジョブの概要ページに戻り、[開始] を選択 します

    [概要] ページの [ジョブの開始] ボタンの選択を示すスクリーンショット。

  2. [ ジョブの開始 ] ページで、[ジョブ出力の開始時刻] に [ 今すぐ ] が選択されていることを確認し、ページの下部にある [開始 ] を選択します。

    [ジョブの開始] ページの選択を示すスクリーンショット。

  3. 数分後、ポータルで、ジョブの出力として構成したストレージ アカウントとコンテナーを見つけます。 コンテナーで指定されたフォルダーにデルタ テーブルが表示されるようになりました。 ジョブが最初に開始されるまでに数分かかります。開始すると、データが到着するに従って実行し続けます。

    コンテナー内の出力データ ファイルを示すスクリーンショット。

リソースをクリーンアップする

不要になったら、リソース グループ、Stream Analytics ジョブ、およびすべての関連リソースを削除します。 ジョブを削除すると、ジョブによって消費されるストリーミング ユニットの課金が回避されます。 そのジョブを将来使用する予定がある場合は、必要になったときに停止して後で再起動することができます。 このジョブを引き続き使用しない場合は、次の手順を使用して、このチュートリアルで作成されたすべてのリソースを削除します。

  1. Azure portal の左側のメニューで、[リソース グループ] を選択し、作成したリソースの名前を選択します。
  2. リソース グループ ページで、[削除] を選択し、削除するリソースの名前をテキスト ボックスに入力して、[削除] を選択します。

次のステップ

このチュートリアルでは、単純な Stream Analytics ジョブを作成し、受信データをフィルター処理し、結果を ADLS Gen2 アカウントの Delta テーブルに書き込みます。 Stream Analytics ジョブの詳細については、以下を参照してください。