PySpark 中的 SparkSession 和 SparkContext 启动
Posted
技术标签:
【中文标题】PySpark 中的 SparkSession 和 SparkContext 启动【英文标题】:SparkSession and SparkContext initiation in PySpark 【发布时间】:2020-08-11 16:53:48 【问题描述】:我想知道 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
【问题讨论】:
参考 - ***.com/questions/39780792/… 【参考方案1】:非常相似。如果您已经有一个会话并想打开另一个会话,您可以使用
my_session = spark.newSession()
print(my_session)
这将产生我认为您正在尝试创建的新会话对象
<pyspark.sql.session.SparkSession object at 0x7fc3bae3f550>
spark
是一个已经在运行的会话对象,因为您使用的是 databricks 笔记本
【讨论】:
感谢这工作!如何在 PySpark 中打印 sparkContext? 你可以运行print(my_session.sparkContext)
【参考方案2】:
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()
【讨论】:
以上是关于PySpark 中的 SparkSession 和 SparkContext 启动的主要内容,如果未能解决你的问题,请参考以下文章
`pyspark.sql.SparkSession.sql` 和 `SQLContext.read.format()` 有啥区别?
带有架构的 pyspark.sql SparkSession load() :架构中的非字符串类型字段使所有值都为空
PySpark数据分析基础:pyspark.sql.SparkSession类方法详解及操作+代码展示
PySpark:无法创建SparkSession。(Java Gateway Error)
创建 SparkSession 的 Spark 3.0.0 错误:pyspark.sql.utils.IllegalArgumentException:<exception str() fail