我已经开始了一个基本的scala / spark / cassandra项目,并且是scala和spark的新手。我目前正在使用数据共享spark-cassandra-connector
来访问我在scala中的cassandra数据库。
我已经开始使用像这样的简单存储类:
import org.apache.spark.sql.cassandra._
import com.datastax.spark.connector._
import org.apache.spark.SparkContext
import com.datastax.spark.connector.ColumnSelector
trait Storage { }
class CassandraStorage(sc: org.apache.spark.SparkContext, keyspaceName:
String) extends Storage {
def rdd(tableName: String): Unit = {
val rdd = sc.cassandraTable(keyspaceName, tableName)
}
def write(tableName: String, columnSelector:
com.datastax.spark.connector.ColumnSelector): Unit = {
val rdd = sc.cassandraTable(keyspaceName, tableName)
rdd.saveToCassandra(keyspaceName, tableName, columnSelector)
}
}
但是,当我尝试在spark-shell
中运行此操作时,我收到以下错误:error: value cassandraTable is not a member of org.apache.spark.SparkContext
前两个导入似乎应该cassandraTable
可以访问sparkContext
。但是,在创建类时,类型声明似乎不是这种情况。斯卡拉有什么工作吗?
谢谢!