【发布时间】:2015-12-18 11:10:19
【问题描述】:
我是 Scala 和 spark 的新手,可以就上述错误提供一些帮助。 这是导致问题的我的代码的 sn-p:
case class Session (user_id: String, creation_date: BigInt, offline: Boolean)
case class User (user_id: String, app_id: Int, vendor_code: String, app_version: String)
val users = sc.cassandraTable[User]("leech_seed", "user").select("user_id", "app_id", "vendor_code", "app_version").where("last_active >=" + (timestamp - 86400000))
val sessions = sc.cassandraTable[Session]("leech_seed", "session").select("user_id", "creation_date", "offline").where("creation_date < " + timestamp + " AND creation_date >=" + (timestamp - 86400000))
当我在 spark shell 中使用此代码时,它工作正常,但是当我尝试使用 sbt 构建 jar 时,我收到以下错误 could not find implicit value for evidence parameter of type com.datastax.spark.connector.rdd.reader.RowReaderFactory[User]
这比我承认的时间更长,所以任何帮助/见解都将不胜感激。
注意:我使用的是datastax cassandra connector作为spark
【问题讨论】:
-
您使用的是哪个 spark-cassandra 连接器?
-
我正在使用 scala 2.10 连接器
-
我也应该问一下 Cassandra 的哪个版本?
-
这是本月的更新 - 我在问,因为我在使用具有不同连接器版本的某些 Spark 版本时遇到了类似的错误。目前我正在使用 Spark 1.4.1 和 2.10-1.4.0-M3 没有问题。
-
是的,这是一个标准的 - 你的案例类需要在你的主要方法之外声明
标签: scala cassandra apache-spark