pyspark vs SparkSession中的spark变量

时间:2019-02-05 13:10:13

标签: apache-spark pyspark

当我们启动pyspark(spark 2.4)时,它带有spark变量调用下划线功能。 因此,如果“火花”已经可用,何时调用和使用SparkSession和SparkContext方法。

1 个答案:

答案 0 :(得分:1)

使用spark 2.4,您可能会在日志中看到以下内容:

Spark context available as 'sc' (master = yarn, app id = application...).
Spark session available as 'spark'.

根据Example

  

在以前的Spark版本中,您必须创建一个SparkConf和SparkContext才能与Spark交互,如下所示:

//set up the spark configuration and create contexts
val sparkConf = new SparkConf().setAppName("SparkSessionZipsExample").setMaster("local")
// your handle to SparkContext to access other context like SQLContext
val sc = new SparkContext(sparkConf).set("spark.some.config.option", "some-value")
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
  

在Spark 2.0中,可以通过以下方式实现相同的效果   SparkSession,无需显式创建SparkConf,SparkContext或   SQLContext,因为它们封装在SparkSession中。

所以:

  1. 在您的情况下,spark只是SparkSession的别名。

  2. 您不需要使用SparkContext,因为它封装在SparkSession中。