プロジェクトでは、受け取った入力データに基づいて集計と計算を定期的に計算する必要があります。Azureデータの時間差を計算するLake Analytics U-SQLジョブ
1つの頻繁な要件は、入力データストリームの特定の行の時間差を計算することです。例えば
、これは私の入力データストリームである:
タイムスタンプイベントバリュー
2017年5月21日11時33 E1 17
2017年5月21日11時37分e2の18
2017-05-私は今、e2のイベントと最後の受信との間のすべてのタイムスパンを計算したい21 11:38 E3 18
2017年5月21日11時39分E1 19
2017年5月21日11時42分e2の19
e1イベント(タイムスタンプ順)。
私は結果があることが期待: 3(分) 4(分)
同様の要件は、ここでイベントの同じタイプ間(E1イベントの間、すなわち、すべての違いを)タイムスパンを計算することであろう 6(分)これまで
私の試み:私はこの結果を予想する分析のこの種のは、かなり簡単にWHEN句と一緒にLAG関数を使用して達成することができたが、残念ながらWHEN句が欠落してい
イン・ユア-SQL。 T-SQLの場合、ステートメントのSELECT-ClauseでSub-Selectsを使用してこれを解決することもできますが、残念ながらU-SQLではこれもできません。
この問題の解決方法に関するご意見やサンプルスクリプトはありますか? ありがとうございました!
U-SQLではサブクエリが簡単にできると感じました。 Itzik Ben-Ganから私の「ギャップと島々」を見つけなければならないことを私に思い出させる! – wBob
良いもの、ボブ!それは合理的に見える!ありがとうございました! –
_realisticデータsample_で展開すると、このソリューション(設計上)はe1イベントとe2イベントの間に完全な1:1対応が必要です。これは本当に強力な要件です。間違った時間ログ、失敗したイベント、繰り返されたイベントなどがあります。このような収差は、私の経験では実世界のデータ、例えばマルチマシン計測器の照合で発生する傾向があります。 – Nabeel