我收到错误消息:
type mismatch; found:
org.apache.spark.streaming.StateSpec[TCPKey,TCPValue,scala.collection.mutable.ArrayBuffer[TCPValue],Option[Int]]
required: org.apache.spark.streaming.StateSpec[TCPKey.type, TCPValue.type, ?, ?]
在Eclipse中,无法运行我的Scala应用程序
我在StateSpec的映射函数输入中尝试了使用“原始”类的其他示例,一切正常,但是一旦我使用我的预定义类(TCPKey和TCPValue在不同的文件中定义),如下所示。
case class TCPKey(src: Entity, dst: Entity)
case class Entity(IP: Seq[Byte], Port: Int)
case class TCPValue(syn: Boolean, fin: Boolean, seq: Long, src: Entity, payload: Array[Byte]) /*I know this is mutable but I don't think that results in the problem above*/
我尝试在线搜索解决方案,但因为“类型”这个词是如此通用,这是一个相当小的案例(使用SparkStreaming的自定义类)是一种不那么流行的语言,我没有设法做多少进展。
真的希望Scala / SparkStreaming专家可以提供帮助!提前谢谢!
咨询https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.streaming.dstream.PairDStreamFunctions并查看了SparkStreaming指南和Scala文档(我使用的是Scala 2.11.8)