問題タブ [siddhi]
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.
wso2 - wso2: cep: siddhi: タイム ウィンドウを永続化する方法
現在、siddhi wso2 cep をテストしています。
ウィンドウ (時間ウィンドウなど) に蓄積されたデータを失うことなく、wso2 サーバー プロセスを再起動できる必要があります。
状態を失うことなくサーバーを再起動できるように、タイム ウィンドウを永続化する方法はありますか?
永続性を使用するようにサーバーを構成する必要がありますか?
それとも、クエリを変更してイベント テーブルを使用するだけでよいのでしょうか。
クエリのサンプルを次に示します。
wso2 - wso2 CEP 3.0.0: double 型へのキャスト
WSO2 CEP 3.0.0。double 型の属性で紛らわしい動作を経験しました。
次の siddhi スクリプトを想定します。
このスクリプトでは、DoubleStream への DoubleAttr1 の挿入が機能しており、10 進数の浮動小数点値を適切に提供しています。しかし、その後のフィルターはキャスト例外を発生させています。
DoubleAttr1 が long と見なされているように見えますが、これはかなり紛らわしいですか?
DoubleAttr1 を次のように計算すると:
例外はもう発生しません。この動作は非常に紛らわしいと感じました。今後のリリースで防止または修正する必要があると思います。あなたの意見は何ですか?
Br、
エリック
PS: convert 関数でいくつかの丸めエラーも経験しました: convert (LogAttr1 / LongAttr2 *100) は、LongAttr1 = 2 および LongAttr2 = 2 の場合、結果として 99.0 を返します
wso2 - siddhi を使用してイベント ストリームから最後のイベントを取得するにはどうすればよいですか
ソースと宛先の 2 つのイベント ストリームがあります。
ソース:
行き先:
実行計画は次のとおりです。
最後のイベントを tmpstream から sinkstreamに渡す必要があります。長さ(1)のウィンドウを使用する必要があると思いました。イベント シミュレーター (属性 112233) を試すと、シンク イベント ストリームに 3 つのイベントを含む応答を受け取りました。
すなわち、処理後の 3 つのイベント。
私は何を間違っていますか?
(前もって)ご返信に感謝いたします。
eclipse - siddhi コードをチェックアウトし、mvn eclipse:eclipse を実行するとエラーが発生しました../../pom.xml
siddhi のようなプロジェクトが箱から出してすぐにビルドできないのは本当に奇妙だと思います。何が欠けているのだろうかと思います。
まず、siddhi を Eclipse にインポートする方法が必要です。選択したときにプロジェクトが表示されませんImport Existing Projects
。ファイルシステムからインポートすると、大量のエラーが表示され、Call and Type
. 本当にくだらない。
私がグーグルで調べたすべてのことから、私はmavenをインストールし、 maven eclipseの設定に従おうとしています
を実行するsudo mvn eclipse:eclipse
と、次のエラーが表示されます
22行目は
pom.xml が存在する siddhi フォルダーから mvn eclipse:eclipse を実行しました。今、私はどこにありますか../../pom.xml
。本当にばかげたバグのようです。ここで何が欠けていますか?
wso2 - WSO2 CEP ウィンドウ時間 1 日
私は、毎秒約 50000 の入力負荷と数秒の応答時間で、ATM カード トランザクション詐欺検出のための別の可能なソリューションを評価しています。
WSO2 CEP は全体的なソリューションにより適しているように見えますが、私は WSO2 CEP を初めて使用するため、メモリとパフォーマンスの問題で立ち往生しているため、CEP WSO2/CEP で以下を行うより良い方法があるかどうかを提案してください。
不正行為を検出するには、メモリ オーバーフローまたはパフォーマンス ヒットの原因となっている 1 日間のデータ集計を取得する必要があります。
1) 以下では、CEP がすべてのレコードを 1 日中メモリに保持しようとするため、メモリ不足が発生します。
2) 何らかの処理を行うためにテーブルからすべてのレコードをロードしようとするため、以下のパフォーマンス ヒットが発生します。
私が気付いた最悪のことはselect * from instream_table
、card_idのwhere句を追加する代わりに、CEPが起動することに気付きました。select sum(amount) from instream_table where card_id=xxxxx
WSO2 CEP のウィンドウのドキュメントを見てきましたが、WSO2 CEP がメモリ内のすべてを試行しているように見えるため、これを最適化する方法が見つかりませんでした。
これを達成するための回避策またはより良い解決策があるかどうか教えてください。私は esper のような他の CEP エンジンを見てきましたが、どのボディも同じようにこれを行っているようです。