如何从SparkSession实例访问SparkContext?

Mar*_*kus 9 python apache-spark pyspark

SparkSession在PySpark中导入如下:

from pyspark.sql import SparkSession
Run Code Online (Sandbox Code Playgroud)

然后我创建SparkSession:

spark = SparkSession.builder.appName("test").getOrCreate()
Run Code Online (Sandbox Code Playgroud)

并尝试访问SparkContext:

spark.SparkContext.broadcast(...)
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个SparkContext不存在的错误.如何访问它以设置broadcast变量?

Rob*_*giu 18

你几乎把它弄好了,开头是小写的:

>>> spark.sparkContext
<SparkContext master=local[*] appName=PySparkShell>
Run Code Online (Sandbox Code Playgroud)


Gio*_*ous 5

假设您有一个 Spark 会话

spark_session = SparkSession \
    .builder \
    .enableHiveSupport() \
    .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

Spark Context 可以使用以下方式推断

spark_context = spark_session._sc
Run Code Online (Sandbox Code Playgroud)

或者

spark_context = spark_session.sparkContext
Run Code Online (Sandbox Code Playgroud)