Scala DataStax Spark Cassandra连接器如何创建SparkContext?

Scala DataStax Spark Cassandra连接器如何创建SparkContext?,scala,apache-spark,sbt,spark-cassandra-connector,Scala,Apache Spark,Sbt,Spark Cassandra Connector,我已成功运行以下火花测试程序。在这个程序中,我注意到SparkContext类中的“cassandraTable”方法和“getOrCreate”方法。但是我在这个类的Spark Scala API文档中找不到它。我在理解这段代码时遗漏了什么?我试图理解当Datastax连接器位于sbt中时,SparkContext是如何不同的 代码- import org.apache.spark.{SparkContext, SparkConf} import com.datastax.spark.conn

我已成功运行以下火花测试程序。在这个程序中,我注意到SparkContext类中的“cassandraTable”方法和“getOrCreate”方法。但是我在这个类的Spark Scala API文档中找不到它。我在理解这段代码时遗漏了什么?我试图理解当Datastax连接器位于sbt中时,SparkContext是如何不同的

代码-

import org.apache.spark.{SparkContext, SparkConf}
import com.datastax.spark.connector._

object CassandraInt {

def main(args:Array[String]){

   val SparkMasterHost = "127.0.0.1"
   val CassandraHost = "127.0.0.1"
   val conf = new SparkConf(true)
    .set("spark.cassandra.connection.host", CassandraHost)
    .set("spark.cleaner.ttl", "3600")
    .setMaster("local[12]")
    .setAppName(getClass.getSimpleName)

   // Connect to the Spark cluster:
   lazy val sc = SparkContext.getOrCreate(conf)

   val rdd = sc.cassandraTable("test", "kv")
   println(rdd.count)
   println(rdd.map(_.getInt("value")).sum)    
  }}
我使用的build.sbt文件是-

name := "Test Project"
version := "1.0"
scalaVersion := "2.11.7"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.0"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.0.0"

addCommandAlias("c1", "run-main CassandraInt")

libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector" % "2.0.0-M3"

fork in run := true

这没什么不同。Spark只支持一个活动的
SparkContext
,并且
getOrCreate
是在以下位置定义的方法:

此函数可用于获取或实例化SparkContext,并将其注册为singleton对象。因为每个JVM只能有一个活动的SparkContext,所以当应用程序希望共享一个SparkContext时,这非常有用

此方法允许不传递SparkConf(如果只是检索,则很有用)

总结如下:

  • 如果存在活动上下文,则返回它
  • 否则它会创建一个新的

cassandraTable
是一种使用曝光的方法。

它并没有什么不同。Spark只支持一个活动的
SparkContext
,并且
getOrCreate
是在以下位置定义的方法:

此函数可用于获取或实例化SparkContext,并将其注册为singleton对象。因为每个JVM只能有一个活动的SparkContext,所以当应用程序希望共享一个SparkContext时,这非常有用

此方法允许不传递SparkConf(如果只是检索,则很有用)

总结如下:

  • 如果存在活动上下文,则返回它
  • 否则它会创建一个新的
cassandraTable
是一种使用