Я начал базовый проект scala / spark / cassandra, и я новичок в scala и spark. В настоящее время я использую datastax spark-cassandra-connector
для доступа к моей базе данных cassandra в scala.
Я начал с простого класса хранения, например:
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
. Однако, похоже, это не относится к объявлению типа при создании класса. Есть ли какая-то работа в скале?
Спасибо!