2

Apache Flink を使用して、次の問題の解決策を見つけるのに苦労しています。

ローカル フォルダー内のファイルによって表されるベクトルのストリームがあります。を使用して新しいテキスト ファイルをDataStream<String> text = env.readFileStream(...)見つけた後、入力を に変換 (flatMap) します。IntegerSingleOutputStreamOperator<Tuple2<String, Integer>, ?>はスコアリング関数からのスコアです。

スコアを使用して、トップ k ベクトルを含むグローバル HashMap を保持したいと考えています。ステートフル変換を使用して問題に取り組みました。

  1. 私が抱えている最初の問題は、HashMap がシンクごとのデータを保持することです (つまり、ワーカーのスレッドごとに、データの HashMap が 1 つ)。それをグローバルコレクションにするにはどうすればよいですか

  2. Apache Spark を使用して、私はそれを可能にしました。 JavaPairDStream<String, Integer> stateDstream = tuples.updateStateByKey(updateFunction);

で変換を行いstateDstreamます。FLink を使用して同じ機能を得る方法はありますか?

前もって感謝します!

4

0 に答える 0