我是Flink的新手,我一直在遵循SocketWindowWordCount的例子。
我正在使用Scala 2.11.8和Flink 1.3.2,并尝试在EMR上运行它,当我运行以下代码时,它抛出了错误:
Caused by: java.lang.ClassNotFoundException: org.apache.flink.api.common.typeinfo.TypeInformation主类如下所示:
import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.api.windowing.time.Time
object FlinkStreamingPOC {
def main(args: Array[String]) : Unit = {
val env = StreamExecutionEnvironment.getExecutionEnvironment
val stream = env.readTextFile("s3a://somebucket/prefix")
val counts = stream.flatMap{ _.split("\\W+") }
.map { (_, 1) }
.keyBy(0)
.timeWindow(Time.seconds(10))
.sum(1)
counts.print
env.execute("Window Stream WordCount")
}
}build.sbt看起来像这样:
scalaVersion := "2.11.8"
val flinkVersion = "1.3.2"
libraryDependencies ++= Seq(
"org.apache.flink" %% "flink-scala" % flinkVersion,
"org.apache.flink" %% "flink-streaming-scala" % flinkVersion
)我尝试import org.apache.flink.api.scala._和org.apache.flink.streaming.api.scala._,但仍然得到相同的错误信息。请多提建议,谢谢!
发布于 2019-12-18 13:54:41
如果你使用IDEA,你可以用“提供的”作用域包括依赖项。

发布于 2019-07-03 16:54:45
打开build.sbt文件并从依赖项中删除provided
发布于 2017-10-29 20:39:34
您可能会遇到与我相同的问题,基本上涉及将jar添加到/lib文件夹,请参阅here了解更多详细信息。对于Amazon EMR,您使用的是flink Dashboard。如您所见,/opt具有需要复制到lib文件夹中的所有必需jars

https://stackoverflow.com/questions/46964541
复制相似问题