【问题标题】:spark variable in pyspark vs SparkSessionpyspark vs SparkSession中的火花变量
【发布时间】:2019-06-29 07:36:35
【问题描述】:

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

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    使用 spark 2.4,您可能会在日志中看到类似的内容:

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

    根据databricks blog

    在以前的 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 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 2016-06-22
      相关资源
      最近更新 更多