次の方法で共有


タンブリング ウィンドウ

✅ Azure Stream Analytics ✅ Fabric Eventstream

タンブリング ウィンドウは、固定サイズで重複しない連続した一連の時間間隔です。 次の図は、一連のイベントを含むストリームと、それらが 10 秒タンブリング ウィンドウにどのようにマップされるかを示しています。

Stream Analytics タンブリング ウィンドウ 5 分

構文

{TUMBLINGWINDOW | TUMBLING} ( timeunit  , windowsize, [offsetsize] )  
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit  , windowsize ), [Offset(timeunit  , offsetsize)] )  
  

タンブリング ウィンドウは、上記の 2 つの方法で使用できます。 ホッピング ウィンドウとの一貫性を確保するために、Duration 関数をすべての種類のウィンドウで使用してウィンドウ サイズを指定することもできます。 ウィンドウの期間は、正の浮動小数点定数である必要があります。

論争

timeunit

ウィンドウサイズの時間の単位です。 次の表に、有効なすべての timeunit 引数を示します。

Timeunit 略語
dd、d
時間 hh
mi、n
ss、s
ミリ秒 さん
マイクロ秒 mcs

windowsize

ウィンドウのサイズを表す大きな整数。 windowsize は静的であり、実行時に動的に変更することはできません。

ウィンドウの最大サイズは 7 日間です。

offsetsize

既定では、タンブリング ウィンドウはウィンドウの最後に含まれており、最初は排他的です。たとえば、午後 12:00 ~ 午後 1:00 のウィンドウには、正確に午後 1 時に発生したイベントが含まれますが、午後 12:00 に発生したイベントは含まれません (これらのイベントは午前 11 時から午後 12 時のウィンドウの一部になります)。

Offset パラメーターを使用すると、この動作を変更し、ウィンドウの先頭にイベントを含め、最後に発生したイベントを除外できます。

例示

SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)  
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
    alert
FROM
    temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25

時間に関する考慮事項

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

こちらもご覧ください

ホッピング ウィンドウ
スライディング ウィンドウ
ウィンドウィング