【发布时间】:2017-10-30 17:13:26
【问题描述】:
我尝试使用 CassandraConnector 将 Row 映射到 scala bean 上,如下所示:
object AttachBookingToEventSparkJob {
def main(args: Array[String]): Unit = {
val conf = new SparkConf(true).setAppName(appName)
val sc = new SparkContext(conf)
val jobParameterTable = sc.cassandraTable[SparkJobMapper](keyspace, JOB_TABLE_NAME)
}
case class SparkJobMapper(val col1: String, val col2:String)
}
有效。
但如果我尝试将类 SparkJobMapper 外部化(在同一个包中),我收到以下错误:
error: No RowReaderFactory can be found for this type
[INFO] val jobParameterTable = sc.cassandraTable[SparkJobMapper]
(keyspace, JOB_TABLE_NAME)
有什么想法?
【问题讨论】:
-
如何执行应用程序?
spark-shell还是spark-submit?请参阅github.com/datastax/spark-cassandra-connector/blob/master/… 以获得一些灵感。 -
我只是在 Intellij 中用 maven 编译。我还没有进入提交步骤。
-
我不确定 scala 中的隐式声明是如何工作的,如果我在文件中独立声明它,为什么编译器找不到我的类。
标签: scala apache-spark datastax-enterprise spark-cassandra-connector