0

イベント ハブを使用してデータを受信するプロジェクトがあります。これは毎秒送信され、データは SignalR を使用して Web サイトによって受信されます。これはすべて正常に機能しています。Stream Analytics ジョブを介してデータを BLOB ストレージに保存しています。 、しかし、これはアクセスが非常に遅く、たった6台のデバイスから受信しているデータの量では、これが増えるとさらに遅くなります.データにアクセスして、Webサイトのグラフを介して履歴データを表示する必要があります.これは、入ってくるライブデータで補充されます。

私は本当に毎秒データを保存する必要はないので、代わりに30秒ごとに保存することだけを考えましたが、私がやろうとしているのはSQL DBに、まだ毎秒データを受け取りますが、30秒ごとに保存するだけです、タンブリングウィンドウを試しましたが、私が見ることができることから、これは単一のエントリではなく、30秒ごとにすべてをダンプするだけです.

タンブリング、スライディング、およびホッピング ウィンドウを理解していないのでしょうか。この方法では使用できないのではないでしょうか? その場合、私はそれを行う唯一の方法を推測しています。出力データベースを入力として使用することです。そのため、タイムスタンプを現在の時刻と相互参照できますか?

誰かが他のアイデアを持っていない限り?任意の助けをいただければ幸いです。

ありがとう

4

3 に答える 3

0

30 秒ごとに 30 エントリを 1 つのサマリー行に集約しようとしている場合は、タンブリング ウィンドウが適しています。次のようなものが機能するはずです。

SELECT System.TimeStamp AS OutTime, TollId, COUNT(*) as cnt, sum(TollCharge) as TollCharge
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(second, 30)
于 2015-07-02T02:18:35.103 に答える
0

返信ありがとうございます。Microsoft の担当者と話しているところ、彼は似たようなことを提案してくれました。また、オンラインのさまざまな例でそのようなことを見つけました。私が実際にやりたいことは、データベースを 30 秒ごとにデータで更新することだけです。イベントを受け取って保存し、30 秒が経過するまで再度保存しません。正直なところ、ASA ジョブでどのようにそれを行うことができるかわかりません。最後に更新されたときの記録が必要なので、実際には Web サイトからイベント ハブに接続しているので、受信側で、簡単なチェックを実行し、そこからデータを保存します。

于 2015-07-03T14:53:21.120 に答える