クエリ言語要素 (Azure Stream Analytics)
Azure Stream Analytics には、クエリを構築するためのさまざまな要素が用意されています。 以下に概要を示します。
要素 | まとめ |
---|---|
適用 | APPLY 操作では、クエリの外部テーブル式によって返される行ごとにテーブル値関数を呼び出すことができます。 APPLY には 2 つの形式があります。 CROSS APPLY では、外部テーブルの行のうち、テーブル値関数から結果セットを生成する行のみが返されます。 OUTER APPLY では、結果セットを生成する行と生成しない行の両方が返されます。そのとき、テーブル値関数によって生成される列には NULL 値が設定されます。 |
CASE | CASE は条件の一覧を評価し、複数の可能な結果式のいずれかを返します |
COALESCE | COALESCE では、引数が順番に評価され、最初に NULL として評価されない 1 番目の式の値が返されます。 |
CREATE TABLE | CREATE TABLE は、Azure Stream Analytics に受信されるイベントのペイロードのスキーマを定義するために使用されます。 |
FROM | FROM では、WITH 句で関連付けられている入力ストリームまたはステップ名が指定されます。 FROM 句は、 常に SELECT ステートメントに必要です。 |
GROUP BY | GROUP BY は、選択した一連の行を、1 つ以上の列または式の値でグループ化されたサマリー行のセットにグループ化します。 |
HAVING | HAVING では、グループまたは集計の検索条件が指定されます。 HAVING は SELECT 式 でのみ 使用できます。 |
INTO | INTO は出力ストリームを明示的に指定し、 常に SELECT 式に関連付けられます。 指定しない場合は、デフォルトの出力ストリームが「出力」になります。 |
JOIN と 参照データの JOIN |
JOIN は、2 つ以上の入力ソースからのレコードを結合するために使用されます。 JOIN は本質的にテンポラルです。つまり、各 JOIN では、時間内に一致する行をどの程度分離できるのかを定義する必要があります。 JOIN は、永続化された履歴データまたは低速で変化するデータセット (参照データ) をリアルタイム イベント ストリームと関連付けて、システムに関するよりスマートな決定を行うためにも使用されます。 たとえば、IP アドレスを場所にマップする静的データセットにイベント ストリームを参加させます。 これは、テンポラル バインドが必要ない Stream Analytics でサポートされている 唯一 の JOIN です。 |
MATCH_RECOGNIZE | MATCH_RECOGNIZE は、データ ストリーム上で一連のイベントを検索するために使用されます。 |
NULLIF | NULLIF は 2 つの引数を評価し、等しい場合は null を返します。 |
OVER | OVER では、関連付けられた集計または分析関数が適用される前に、行のグループ化が定義されます。 |
SELECT | SELECT は入力ストリームから行を取得するために使用され、Azure Stream Analytics の 1 つまたは複数の入力ストリームから 1 つまたは複数の列を選択できます。 |
UNION | UNION は、2 つ以上のクエリを 1 つの結果セットに結合します。このセットには、共用体内のすべてのクエリに属するすべての行が含まれます。 |
WHERE | WHERE では、クエリで返される行の検索条件が指定されます。 |
WITH | WITH は、クエリの FROM 句で参照できる一時的な名前付き結果セットを指定します。 これは、単一の SELECT 文の実行スコープ内で定義されます。 |