Flink参考数据建议/最佳实践

时间:2017-12-15 16:51:01

标签: apache-flink flink-streaming

寻找有关存储/访问Flink参考数据的位置的一些建议。这里的用例非常简单 - 我有一个包含国家列表的列文本文件。我正在传输推特数据,然后根据推文的(解析的)位置字段匹配文本文件中的国家/地区。在IDE(Eclipse)中它很好,因为我在我的Flink Mapper中通过静态Build方法启动例程时填充了静态ArrayList(即实现Flinks MapFunction)。这个类现在是内部静态的,否则它会在序列化时获得衬衫。 Point是,当在运行时从流中调用重写的map函数时,国家数据的静态数组是它们的等待,完全填充并准备匹配。有魅力。但是,当部署到Flink集群中时(上周我花了很多时间来实际获取代码来查找文本文件),该数组仅 作为Build方法的一部分填充。当使用时,数据已经神秘地消失了,我的数组大小为0.(因此,没有找到很多匹配。因此,2个问题 - 为什么它在Eclipse中工作而不在部署上(渲染)很多Eclipse单元测试也毫无意义。或者更一般地说,在Flink中交叉引用这种静态的,固定的参考数据的正确方法是什么?(并且在Eclipse和Eclipse中都可以找到它的方式)簇...)

1 个答案:

答案 0 :(得分:0)

处理静态参考数据的标准方法是使用RichMapFunction or RichFlatMapFunction *gv* *v_gv* *reselect-Visual* gv Start Visual mode with the same area as the previous area and the same mode. In Visual mode the current and the previous Visual area are exchanged. After using "p" or "P" in Visual mode the text that was put will be selected. 方法加载数据。丰富的函数具有openopen方法,这些方法对于创建和完成本地状态非常有用,并且可以访问运行时上下文。