私はApache Flinkに基づく金融不正防止システムに取り組んでいます。私は金融取引に基づいて、多くの異なる集計を計算する必要があります。私はストリームデータソースとしてKafkaを使用します。たとえば、平均トランザクション量の計算では、MapStateを使用して、合計トランザクション数とカードごとの合計金額を格納します。 Apache Accumuloに集約されたデータ。私はFlinkの永続的な州について知っているが、それは私が必要とするものではない。演算が始まる前に初期データをFlinkにロードする方法はありますか? Accumuloのデータと2つの接続ストリームを使用して、最新の集計とトランザクションストリームを計算することができますか?トランザクションストリームは集約ストリームでは無限です。どちらの方法で掘り起こすべきですか?どんな助けもありがとうございます。Apache Flinkでタスク状態を正しく初期化する方法は?
私はAsyncIOについて考えましたが、非同期関数では状態を使用できません。私のアイデアは:メモリ内の状態で集計をチェックすることです。ここでカードのデータがない場合 - コードはストレージサービスを呼び出し、そこからデータをフェッチし、メモリ内の計算と更新を実行するので、そのカードの次のトランザクションは外部データサービスへの呼び出しで処理する必要はありません。しかし、私はそれが大きなボトルネックだと思う。