小编gvd*_*gvd的帖子

如何处理大型查找表,这些表在Apache Flink中很少更新

处理数据的模式是我有一条记录流,其中包含一些信息A。这些记录由某些ID分片。该信息A取决于当前记录,上一次计算的结果以及较大的查找表。查找表不经常更改,更改很小。我知道我可以使用mapWithState / flatMapWithState进行有状态的计算。但是,我应该如何处理查找表?惯用的方法是也将其作为状态来处理(如A),但是查找表的大小可能对性能/内存(例如快照时)非常可怕。

我目前正在考虑使其成为受读/写锁保护的共享资源。有没有更好的方法来处理这种模式?

apache-flink

5
推荐指数
1
解决办法
674
查看次数

为什么 env.readTextFile(...).first(10).print 在 Flink 中读取所有数据?

当我只想在 Apache Spark 中获取前 N 条记录时,我使用:

sc.textFile(path_to_files).take(10)
Run Code Online (Sandbox Code Playgroud)

它将快速返回并给我前 10 行文本。当我在 Apache Flink 中做类似的事情时:

env.readTextFile(path_to_files).first(10).print()
Run Code Online (Sandbox Code Playgroud)

它将在返回结果之前完全读取所有文件。这是为什么?

apache-flink

2
推荐指数
1
解决办法
980
查看次数

标签 统计

apache-flink ×2