Объявление типа SparkContext и доступ к cassandraTable из разъема spark-cassandra - PullRequest
0 голосов
/ 03 мая 2018

Я начал базовый проект 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. Однако, похоже, это не относится к объявлению типа при создании класса. Есть ли какая-то работа в скале?

Спасибо!

...