演習 - Azure Stream Analytics の変換クエリを記述する
Azure Stream Analytics のクエリでは、入力データ ストリームが変換され、出力が生成されます。 クエリは、Transact-SQL (T-SQL) 言語のサブセットである SQL に似た言語で記述されます。
この演習では、入力データをシンプルな方法で変換して、Stream Analytics によって公開されている変換クエリの機能を見ていきます。
注意
この演習は省略してもかまいません。 Azure アカウントを持っていない場合、またはご自分のアカウントで演習を行いたくない場合は、説明を最後まで読むだけにして、Stream Analytics ジョブで入力ファイルを設定して変換クエリを変更する方法を理解してください。
一部の国勢調査データから要素を抽出する必要があるとしましょう。 この場合は、国勢調査データ内の各都市の座標が必要です。 入力として JSON ファイルを使います。 変換クエリを実行してデータから座標を抽出した後、その結果をご利用の Blob ストレージ内の新しいファイルに書き込みます。
サンプルの入力ファイルを作成する
最初に、input.json という名前の入力ファイルをローカル コンピューターに作ります。 ファイルにはこれらのコンテンツが含まれています。
{
"City" : "Reykjavik",
"Coordinates" :
{
"Latitude": 64,
"Longitude": 21
},
"Census" :
{
"Population" : 125000,
"Municipality" : "Reykjavík",
"Region" : "Höfuðborgarsvæðið"
}
}
入力ファイルをアップロードする
次に、JSON ファイルを Blob ストレージ コンテナーにアップロードします。
Azure portal を開きます。
ソース BLOB ストレージ アカウント streamsrc に移動します。
ヒント
リソースを名前で検索するには、Azure portal の上部にある検索フィールドを使用します。 関連リソースを検索するには、リソース グループを使用します。
前に作成した streamsrc ストレージ アカウントを選びます。
[データ ストレージ] で、[コンテナー] を選択します。
作成した learn-container コンテナーを選択します。 中には何も入っていないはずです。
[アップロード] を選択します。 [BLOB のアップロード] パネルが表示されます。 [ファイル] の横にあるフォルダー アイコンを選んでから、JSON ファイルを選びます。
[詳細] オプションがまだ展開されていない場合は展開します。
[アップロード先のフォルダー] フィールドに「input/[YYYY-MM-DD]」と入力します。 ここで、YYYY-MM-DD は現在の日付であり、「Azure Stream Analytics ジョブの入力を構成する」の演習で記録したデータ書式を使って入力する必要があります。
他のフィールドは既定値のままとします。
[アップロード] を選択します。
ファイルがアップロードされたら、コンテナー内に input フォルダーが表示されるはずです。 それを選択すると、BLOB の階層が探索され、該当するデータが表示されます。
出力 Blob ストレージ コンテナーを設定する
次に、変換されたデータの出力先を設定します。
出力先の BLOB ストレージ アカウント streamsink に移動します。
[概要] ページの選択肢から、[ストレージ ブラウザー] を選びます。
右側の [BLOB コンテナー] に移動します。
作成したコンテナーを選択します。
コンテナーの詳細の上にあるメニューから、[ディレクトリの追加] を選びます。 [仮想ディレクトリの追加] ペインが表示されます。
フォルダーの [名前] として「output」を入力して、[OK] を選択します。 ここでは、プレースホルダーを作成しています。 そのフォルダーは、中にファイルが追加されるまで、Azure には表示されません。
変換クエリを記述する
これで変換クエリを記述する準備が整いました。 入力データから座標を抽出して、それを出力に書き込む必要があります。 そのためには、SELECT
ステートメントを使用します。 クエリ オプションを、オンラインで検索するか、またはこのモジュールの「概要」内にあるリンクを使用して見つけます。
Azure portal で検索フィールドを使って自分の Stream Analytics ジョブ SimpleTransfomer に移動します。
[ジョブ トポロジ] で、[クエリ] を選択します。
[クエリ] ウィンドウで、次のクエリを追加します。
SELECT City, Coordinates.Latitude, Coordinates.Longitude INTO streamoutput FROM streaminput
[クエリの保存] を選択します。
クエリをテストする
ジョブを実行する前に、クエリをテストし、それが意図したとおりに動作することを確認しておくことをお勧めします。 Azure portal でご自分の Stream Analytics ジョブに移動します。 [ジョブ トポロジ] で、[クエリ]>[クエリのテスト] を選びます。 テスト結果はクエリの下に表示されます。