声明SparkContext类型并从spark-cassandra-connector

时间:2018-05-03 15:43:11

标签: scala apache-spark cassandra

我已经开始了一个基本的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。但是,在创建类时,类型声明似乎不是这种情况。斯卡拉有什么工作吗?

谢谢!

0 个答案:

没有答案