【发布时间】:2019-02-27 01:37:05
【问题描述】:
我的 Spark scala 代码是这样的:
val input = sc.newAPIHadoopRDD(jconf, classOf[CqlInputFormat], classOf[LongWritable], classOf[Row])
CqlInputFormat 类在 Cassandra 的源代码中实现。 我试图将其转换为 Java 代码并且它有效。但它无法使用 Scala 代码构建。
inferred type arguments[org.apache.hadoop.io.LongWritable,com.datastax.driver.core.Row,org.apache.cassandra.hadoop.cql3.CqlInputFormat] do not conform to method newAPIHadoopRDD's type parameter bounds [K,V,F <: org.apache.hadoop.mapreduce.InputFormat[K,V]]
[error] val input = sc.newAPIHadoopRDD(jconf, classOf[CqlInputFormat], classOf[LongWritable], classOf[Row]);
[error] /home/project/past/experiments/query/SparkApp/src/main/scala/SparkReader.scala:46: type mismatch;
[error] found : Class[org.apache.cassandra.hadoop.cql3.CqlInputFormat](classOf[org.apache.cassandra.hadoop.cql3.CqlInputFormat])
[error] required: Class[F]
[error] val input = sc.newAPIHadoopRDD(jconf, classOf[CqlInputFormat], classOf[LongWritable], classOf[Row]);
[error] ^
[error] /home/project/past/experiments/query/SparkApp/src/main/scala/SparkReader.scala:46: type mismatch;
[error] found : Class[org.apache.hadoop.io.LongWritable](classOf[org.apache.hadoop.io.LongWritable])
[error] required: Class[K]
[error] val input = sc.newAPIHadoopRDD(jconf, classOf[CqlInputFormat], classOf[LongWritable], classOf[Row]);
[error]
[error] /home/project/past/experiments/query/SparkApp/src/main/scala/SparkReader.scala:46: type mismatch;
[error] found : Class[com.datastax.driver.core.Row](classOf[com.datastax.driver.core.Row])
[error] required: Class[V]
[error] val input = sc.newAPIHadoopRDD(jconf, classOf[CqlInputFormat], classOf[LongWritable], classOf[Row]);
[error]
[error] four errors found
[error] (compile:compileIncremental) Compilation failed
有什么建议吗?谢谢。
【问题讨论】:
-
这个问题目前看起来像一堵噪音墙。你可能应该看看Markdown Editing Help,还有How to Ask。
-
@Andrey Tyukin 感谢您的建议。
标签: scala apache-spark cassandra spark-cassandra-connector