【发布时间】:2017-12-17 03:48:58
【问题描述】:
寻找一些关于在哪里存储/访问 Flink 参考数据的建议。这里的用例非常简单——我有一个包含国家列表的单列文本文件。我正在流式传输推特数据,然后根据推文的(解析的)位置字段匹配文本文件中的国家/地区。在 IDE (Eclipse) 中,这一切都很好,因为当例程通过我的 Flink Mapper 中的静态 Build 方法(即实现 Flinks MapFunction)启动时,我填充了一个静态 ArrayList。这个类现在是内部静态的,否则它会在序列化时得到衬衫。重点是,当在运行时从流中调用覆盖的 map 函数时,国家数据的静态数组正在等待、完全填充并准备好进行匹配。很有魅力。但是,当部署到 Flink 集群中时(上周我花了很多时间才真正得到代码来查找文本文件),该数组仅作为 Build 方法的一部分填充。在使用时,数据神秘地消失了,我的数组大小为 0。(因此,找不到很多匹配项。因此,有两个问题 - 为什么它在 Eclipse 中工作而不是在部署时工作(渲染很多 Eclipse 单元测试也毫无意义)。或者更一般地说,在 Flink 中交叉引用这种静态、固定引用数据的正确方法是什么?(并且在 Eclipse 和集群...)
【问题讨论】:
标签: apache-flink flink-streaming