SparkContext
SparkContext是Spark的入口,可以通过SparkConf来创建它。配置SparkConf时有许多选项,包括应用程序名称、Master、内存大小等。例如:
val sparkConf = new SparkConf().setAppName("FromPostgreSql")
.setMaster("local[4]")
.set("spark.executor.memory", "2g")
val sc = new SparkContext(sparkConf)
如果是在编程环境下,我们通常会在main()函数下创建SparkContext。当执行完毕后,可以调用stop()方法来终止它。
我曾经尝试在一个Actor中去创建SparkContext,例如:
class SparkJobActor extends Actor {
def receive = {
case query:QueryMessage =>
val sparkConf = new SparkConf().setAppName("MortSpark")
.setMaster("local[*]")
.set("spark.executor.memory", "2g")
val sc = new SparkContext(sparkConf)
//...
}
}
但是在执行到创建SparkContext时,系统就抛出了错误,未能成功创建SparkContext。