名字' sc'未定义&无法一次运行多个SparkContexts

时间:2017-11-03 15:30:23

标签: python apache-spark pyspark

我在我的jupyter笔记本中使用了pyspark 2.2.0 有时它发生在我使用sc的时候,例如这里

from pyspark.sql import SQLContext
from pyspark.sql.session import SparkSession
spark=SparkSession.builder.getOrCreate()
sparkContext=SQLContext(sc)

我收到错误

  

NameError:name' sc'未定义

但如果我通过添加

来修改我的代码
from pyspark import SparkContext
sc =SparkContext()

我收到错误

  

ValueError:无法一次运行多个SparkContexts

我需要做什么?

1 个答案:

答案 0 :(得分:3)

spark是您想要的对象。不是sc

您收到错误的事实意味着您需要获取或创建您已经拥有的会话。

SparkSession.builder.getOrCreate()

我不确定你需要SQLContextspark.sql()spark.read()是数据集入口点。

Spark docs

上的第一颗子弹
  

SparkSession现在是Spark的新入口点,取代了旧的SQLContextHiveContext

如果您需要sc变量,那就是sc = spark.sparkContext