我试图了解Apache Flink,并且在概念层面上有一个我不理解的问题:
我尝试实现lucene输入源:
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<Document> ds = env.createInput(new IteratorInputFormat(new DocstoreReader(path)),
new GenericTypeInfo( org.apache.lucene.document.Document.class));
您可以在以下要点中找到DocstoreReader实现:https://gist.github.com/kindofwhat/9776105313af30027b6d6b84ca10c472
运行整个事情会产生以下异常:
Caused by: org.apache.flink.runtime.operators.util.CorruptConfigurationException: Could not write the user code wrapper class org.apache.flink.api.common.operators.util.UserCodeObjectWrapper : java.io.NotSerializableException: org.apache.lucene.index.ReadOnlyDirectoryReader
我不明白为什么这是一个问题:为什么要将这个类序列化?有趣的是,当在流式执行环境中使用时,整个事情都有效。
一般问题:如何将遗留源作为输入源添加到Flink?我必须走这条路吗
传统 - &gt;写信给flink&#34;可以理解&#34; formata - &gt; flink处理?