我正在使用apache flink努力找到以下问题的解决方案:
我有一个向量流,由本地文件夹中的文件表示。使用找到新文本文件后 DataStream<String> text = env.readFileStream(...)
,我将输入转换为 SingleOutputStreamOperator<Tuple2<String, Integer>, ?>
,整数是来自评分函数的评分。
我想使用它们的分数来持久化一个包含前k个向量的全局hashmap。我使用状态转换来处理这个问题。
我遇到的第一个问题是hashmap保留每个sink的数据(因此对于每个worker线程,一个hashmap的数据)。我怎样才能让它成为一个全球性的收藏
使用apachespark,我通过 JavaPairDStream<String, Integer> stateDstream = tuples.updateStateByKey(updateFunction);
然后在 stateDstream
. 有没有一种方法可以让我使用flink获得相同的功能?
提前谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!