問題タブ [streaminsight]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ストリーム インサイト - イベントのタイプに基づくフィルター処理
Stream Insight を初めて使用するので、これはかなり基本的な質問かもしれませんが、イベント タイプによるクエリのフィルタリングはサポートされていないようです (以下を参照)。
私の質問を少し具体化するために、これは私のCepStreamです...
..これは私のクエリです...
...実行時にこの例外が発生します: The following expression is not supported by Microsoft Complex Event Processing LINQ Provider: (x is FxSpot)
私が理解しているように、フィルターを効果的に実行するよりも複数のアダプターを作成できますが、これは「すべき」方法ではないようです。
どんなアドバイスでも大歓迎です!
マット
complex-event-processing - StreamInsight、イベント マッチング
StreamInsight で、1 つの入力ソースにさまざまな種類のイベントを別々に処理する必要がある状況に遭遇しましたが、最終的には同じソースからの他のイベントと一致します。
入力ソースが乱数 (簡単にするために、1 と 0) を生成する (非常に) 単純なシナリオを以下に作成しました。数値が偶数の場合は、追って通知があるまで保存します (期間は不明)。数が奇数の場合、偶数ストリームの n-1 と一致させてから、偶数ストリームから n-1 を削除します。一致しない場合、奇数はそれ以上計算せずにそのまま処理されます。偶数ストリームから一致する n-1 を削除するまで、すべてが期待どおりに機能しています。一致が行われ、一致が出力アダプターにプッシュされますが、指定されたイベントに対して別の結合を行うために引き続き使用できます。私が数日間の実験と研究から集めたものは、どういうわけか、偶数のストリーム イベント期間 (ClipEventDuration) をクリップする必要があるということです。おそらく、GenerateEvenJoinQuery のフィルターの一部として、しかし、私が試したすべてのことは何の変化も、望ましくない結果も生み出しませんでした。また、evenStream を Interval 形状に変更しようとしましたが、さらに運が悪かったです。どんな助けや提案も大歓迎です。
たとえば、単純化されたリストが与えられた場合: [ 1, 0, 1, 1, 0, 0, 1, 1, 1 ]
出力は [ 1, 100, 1, 100, 100, 1 ] のようになると思います。
私が取り組んでいる実際のシナリオとしても受け入れますが、最初の出力は実際には不可能です。2 番目と 3 番目の 0 が 1 つの 1 に結合されていることに注意してください。 ]
解決:
もう少し精巧で、潜在的に高速なものを望んでいましたが、処理の遅延がパフォーマンスに役立つ可能性があります。
c# - IQStreamable への参照が見つかりません
私はStreamInSight
開発が初めてです。いくつかのサンプルをダウンロードしましたが、現在それらをコンパイルしようとしています。「タイプまたは名前空間名 'IQStreamable' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)」というエラーが表示されます。プロジェクトには以下の参照が既に含まれています -
- Microsoft.ComplexEventProcessing
- システム
- System.Reactive.Core
- System.Reactive.Interfaces
- System.Reactive.Linq
- System.Reactive.PlatformServices
- System.Reactive.Providers
何か不足している場合はお知らせください。
c# - SQL データベースに対する StreamInsight 2.1 と ... どのように機能しますか?
StreamInsight 2.1 をインストールしました。これを有効にして Server.Create() を実行し、WCF エンドポイントを公開して、Event Flow Debugger を使用して接続することができました。偽のイベント ソースを作成する例をたくさん見つけました。
私が可能だと思うもの、つまり SQL 2012 データベースに対するスタンディング クエリを作成する方法を知りたいです。RDB に接続するためのサンプル コードは見つかりませんでした。「これは単なる表示用であり、実際には RDB に接続する可能性があります」というステートメントだけです。
LINQ-to-SQL のみを使用できますか? エンティティ フレームワーク 4? 平易な ADO.NET? いくつかの MS SQL 固有のプロトコルですか?
私を本当に混乱させているのは、これらのスタンディング クエリがどのように機能するかということだと思います。最近、Microsoft が特定の独立した SKU (StreamInsight) だけがアクセスできる SQL Server の機能を公開しているのは、私には奇妙に思えます。したがって、次の 2 つのいずれかである必要があります。
SQL はクエリの永続性を認識していますか、または StreamInsight は LINQ ステートメントを変更して効率的にポーリングします (AND @LastExecution <= InsertedOn
適切なインデックスを追加するなど)。
SQL がそれを特別な種類のクエリとして認識している場合、StreamInsight はそのようなスタンディング クエリを作成するためにどのメカニズムを使用しますか? StreamInsight Services などを使わずにプログラマーが利用できるものですか?
c# - StreamInsight での Linq の使用
StreamInsight では、多くのサンプルがストリームのカウント、合計、フィルターの linq の使用法に対応しています。
特定の時間内に発生したレコードを抽出するクエリを定義するのにいくつかの困難があります。例えば、step1は「レッドカー」というポイントイベントを格納していますが、10分以内に2回連続で発生した「レッドカー」のイベントを抽出するにはどうすればよいでしょうか??
本当にここで立ち往生しており、どんな助けも大歓迎です!!
streaminsight - 連続出力ストリームインサイト
streaminsight で連続出力ストリームを取得することは可能ですか? 私の問題は、ホッピング/タンブリング ウィンドウを使用して入力ストリームに対してクエリを実行すると、入力イベントがない場合にクエリから出力が得られないことです。これは正常に聞こえますが、入力イベントがない場合でも 5 秒ごとに出力を返すウィンドウ メカニズムを取得することは可能ですか?
これは私のコードです。この後、問題が明らかになる可能性があります。
私が望む出力は、この入力としましょう:
このウィンドウ メカニズムが streaminsight 内で可能であることを願っています。開発者ガイドを読んで多くのことを調べましたが、論争の的となる出力などを処理することに注意してください。誰かが私を助けてくれることを願っています!
sql-server - SQL トリガーと streaminsight - StreamInsight Guru はいますか?
データがテーブルに入力されると、トリガーが起動され、それが別のテーブルにコピーされます
このトリガーが起動し、修正されたデータを別のテーブルにコピーするときに、ストリーム インサイトを使用したいと考えています。
テーブル (イベント) のトリガーから入力アダプターにデータを取得するにはどうすればよいですか? streaminsight でデータを取得するための入力アダプターのイベントとしてトリガーを使用するにはどうすればよいですか?
complex-event-processing - 出力アダプター streaminsight で新しいイベントを作成する
StreamInsight で次の問題があります。注文からの新しいタスクが入ってきて、出力アダプターをトリガーして予測を行うクエリがあります。outputadapter は、予測されたタスク サイクル タイムをテーブル (Windows Azure 内) に書き込みます。予測はニューラル ネットワークに基づいており、outputadapter に組み込まれています。予測がテーブルに書き込まれた後、予測されたすべての時間で何か他のことをしたいと思います。したがって、2 番目のクエリでは、5 分間の時間枠で書かれたタスクの数をカウントしたいと考えています。テーブルに保存されている予測値の数が注文のタスクの数と等しい場合、テーブルからすべての予測値を取得して、注文のサイクル タイムを予測したいと考えています。
このアイデアでは、outputadapter で新しいイベントを作成して、予測時間がテーブルに書き込まれていることを知る必要があります。しかし、outputadapter から streaminsight サーバーで新しいイベントをキューに入れることはできないと思います。
おそらく、この図で問題が明確になります: http://i40.tinypic.com/4h4850.jpg
誰かが私を助けてくれることを願っています。ありがとうカルロ
streaminsight - StreamInsight でのイベント時間の変更
これは私の最後の質問へのフォローアップです。設定は、StreamInsight を使用して時系列予測を行っているということです。
そこで与えられた説明を拡張してx_n
、入力ストリームで示します。この例のために、10 回の観測ごとに 10 個先の値を予測すると仮定します。これらの予測を と呼びますp_n
。シリーズのインデックスは時間に対応するため、最初のインデックスは にp_n
なりますp_11
。
だから私たちは持っています
入力ストリームからを収集するユーザー定義のストリーム演算子があり、十分なイベントがあると、そのサイクルx_n
のすべてを吐き出します。p_n
TXPower275 は、これが合理的な戦略であることを確認しました。
次のステップは、予測を実際の値と比較することです。このために、私は 2 つのストリームに参加したいと思いました。参加はイベントのタイムスタンプで機能するため、タイムスタンプを正しく並べる必要があります。
(余談ですが、ポイントイベントがありますが、短い間隔でインターバルイベントを使用して、結合のオーバーラップを取得することもできます...橋に着いたら、その橋を渡ります)。
(完全を期すために: サイクルの途中にある入力イベントを受け取ると、UDSO は、イベント ペイロードのフィールドを使用して識別する「ダミー イベント」を出力します。予測を作成するために、ダミー イベントを除外します。イベントストリーム)
これをより明確にするために、これが私のシンクからの出力です。これらは、上で言及したダミー イベントです。各行の最初のタイムスタンプは StreamInsight イベント時間 (これらはポイント イベントです) であり、各行の最後のタイムスタンプは実際にはペイロード内のフィールドです。
実際の予測は次のようになります。
イベント時間はすべて同じであることに注意してください。これは、私の UDSO が ALL にp_n
(サイクルの)x_n
計算をトリガーしたタイムスタンプを割り当てるためです。
これは、MSDN のドキュメント「各出力イベントのタイムスタンプは、対応する入力イベントのタイムスタンプに基づいています」と一致しています。
私がやりたいことは、ペイロード フィールド内の時間を使用して予測イベントを作成することです。
私が使うべきだと思うのは
、そしてこれをプラグインしようとした方法は次のようなものでした:
私prediction_query
のタイプはIQStreamable<MyPayload>
です。
これは機能していません。上記のようにイベントが発生し、予測が生成されていますが、私の " separated_stream
" は存在しない可能性もあります。
コンソールへの出力は、他のクエリと同じパターンを使用して行われます -
なので、そこに間違いはないと思います。
Event Flow Debugger を使用していますが、このクエリが見つかりません...しかし、2 つのプロセスが見つかりましたが、そのうちの 1 つのフローしか認識していないため、2 つ目のプロセスはおそらくこれに関係していると思いますseparated_stream
。診断は、このプロセスまたはそのオペレーターにイベントがないことを示しています。クエリは演算子と同様に「実行中」であり、デバッガーにはエラーのようには見えません。
私の定義はseparated_stream
間違っていますか?どうすれば修正できますか?
ありがとう。
編集: Event Flow Debugger の 2 番目のプロセスは、問題のクエリに関連しています。クエリをコメントアウトすると、プロセスが表示されません。