我正在尝试编写一些关于Apache Flink的用例。我经常遇到一个错误:
could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[SomeType]
我的问题是我无法确定它们何时发生,何时不会发生。
最近的一个例子如下:
...
val largeJoinDataGen = new LargeJoinDataGen(dataSetSize, dataGen, hitRatio)
val see = StreamExecutionEnvironment.getExecutionEnvironment
val newStreamInput = see.addSource(largeJoinDataGen)
...
其中LargeJoinDataGen extends GeneratorSource[(Int, String)]
和GeneratorSource[T] extends SourceFunction[T]
,它们在不同的文件中定义。
尝试构建时,我得到了以下错误信息:
Error:(22, 39) could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[(Int, String)]
val newStreamInput = see.addSource(largeJoinDataGen)
1. 为什么给定的例子会出现错误?
2. 当出现这些错误时,有什么通用指导方针以及如何在未来避免它们?
P.S.: 这是第一个Scala项目和第一个Flink项目,请耐心等待。
import org.apache.flink.streaming.api.scala._
,但仍然出现这个错误。我正在使用 flink 1.12.2。 - Jason Lee