次の方法で共有


ウィンドウ関数

✅ Azure Stream Analytics ✅ Fabric Eventstream

リアルタイム イベントを処理するアプリケーションでは、一定期間内にあるイベントのサブセットに対して、一部のセット ベースの計算 (集計) またはその他の操作を実行するのが一般的です。 時間の概念は複雑なイベント処理システムにとって基本的な必要性であるため、システム内のクエリ ロジックの時間コンポーネントを簡単に操作する方法を用意することが重要です。 Azure Stream Analytics では、これらのイベントのサブセットは、時間別のグループ化を表すためにウィンドウを介して定義されます。 この記事では、ウィンドウとその定義方法について説明し、サポートされているウィンドウの種類を識別し、さまざまな演算子でウィンドウを使用する方法について説明します。

Windows について

ウィンドウにはタイムラインに沿ったイベント データが含まれており、そのウィンドウ内のイベントに対してさまざまな操作を実行できます。 たとえば、次の図に示すように、特定のウィンドウのペイロード フィールドの値を合計できます。

Stream Analytics クエリ言語のタンブリング ウィンドウ

すべてのウィンドウ操作は、ウィンドウの最後にイベントを出力します。 Azure Stream Analytics のウィンドウは、ウィンドウの開始時刻に開き、ウィンドウの終了時刻に閉じられます。 たとえば、午前 12:00 から午前 12:05 までの 5 分間のウィンドウがある場合、タイムスタンプが 12:00 AM より大きく、タイムスタンプが 12:05 AM までのすべてのイベントがこのウィンドウに含まれます。 ウィンドウの出力は、ウィンドウの終了時刻と等しいタイムスタンプで使用される集計関数に基づく 1 つのイベントになります。 ウィンドウの出力イベントのタイムスタンプは、エイリアスを使用して System.Timestamp() プロパティを使用して SELECT ステートメントに投影できます。 すべてのウィンドウが自動的に 0 時間目に合わせます。 たとえば、5 分間のタンブリング ウィンドウは、(12:00-12:05] や (12:05-12:10]、...など) に合わせて調整されます。

ウィンドウ操作の後、イベントのタイムスタンプは、元のイベント時刻属性 ( 到着時刻 または TIMESTAMP BY で使用される列) とは異なります。 イベントの現在の更新されたタイムスタンプには、常に system.timestamp()を使用してアクセスできます。

すべてのウィンドウは GROUP BY 句で使用する必要があります。

ウィンドウには次の 5 種類があります。

  1. タンブリング ウィンドウ

  2. ホッピング ウィンドウ

  3. スライディング ウィンドウ

  4. セッション ウィンドウ

  5. スナップショット ウィンドウ

すべての場合のウィンドウの最大サイズは 7 日です。

Windows 関数を使用して、同じ GROUP BY ステートメント内の複数の時間枠で集計できます。

こちらもご覧ください

組み込み関数
集計関数
分析関数
配列関数 (Stream Analytics)
変換関数
日付と時刻の関数
レコード関数