PySpark中的SparkSession和SparkContext初始化

问题描述

我想了解Scala中与以下代码等效的PySpark。我正在使用数据块。我需要以下相同的输出:-

创建新的Spark会话并输出会话ID(SparkSession @ 123d0e8)

val new_spark = spark.newSession()

**Output** 
new_spark: org.apache.spark.sql.SparkSession = org.apache.spark.sql.SparkSession@123d0e8

以查看SparkContext并输出SparkContext ID(SparkContext @ 2dsdas33)

new_spark.sparkContext
**Output** 
org.apache.spark.SparkContext = org.apache.spark.SparkContext@2dsdas33

解决方法

SparkSession可以创建为http://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html

>>> from pyspark.sql import SparkSession
>>> from pyspark.conf import SparkConf
>>> SparkSession.builder.config(conf=SparkConf())

>>> from pyspark.sql import SparkSession
>>> spark = SparkSession.builder.appName('FirstSparkApp').getOrCreate()
,

非常相似。如果您已经有一个会话并想打开另一个会话,则可以使用

my_session = spark.newSession()

print(my_session)

这将产生我认为您要创建的新会话对象

<pyspark.sql.session.SparkSession object at 0x7fc3bae3f550>

spark是已在运行的会话对象,因为您正在使用数据块笔记本