sc 未在 SparkContext 中定义
Posted
技术标签:
【中文标题】sc 未在 SparkContext 中定义【英文标题】:sc is not defined in SparkContext 【发布时间】:2018-02-13 07:35:03 【问题描述】:我的 Spark 包是 spark-2.2.0-bin-hadoop2.7。
我将 spark 变量导出为
export SPARK_HOME=/home/harry/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
我用
打开了spark notebookpyspark
我可以从 spark 加载包
from pyspark import SparkContext, SQLContext
from pyspark.ml.regression import LinearRegression
print(SQLContext)
输出是
<class 'pyspark.sql.context.SQLContext'>
但我的错误是
print(sc)
"sc is undefined"
请谁能帮帮我...!
【问题讨论】:
您是否创建了火花上下文的实例?你需要创建火花上下文。 我还没有。我对火花很陌生,请你告诉我怎么做...! ** sqlContext = SQLContext(sc) **。我这样做了。但我仍然遇到同样的错误,sc 没有定义 【参考方案1】:在 pysparkShell 中,SparkContext
已经初始化为 SparkContext(app=PySparkShell, master=local[*])
,因此您只需使用 getOrCreate()
将 SparkContext
设置为变量
sc = SparkContext.getOrCreate()
sqlContext = SQLContext(sc)
为了在简单的本地模式中进行编码,您可以执行以下操作
from pyspark import SparkConf, SparkContext, SQLContext
conf = SparkConf().setAppName("test").setMaster("local")
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
print(sc)
print(sqlContext)
【讨论】:
非常感谢您的回复..但我收到此错误****无法一次运行多个 SparkContexts;由以上是关于sc 未在 SparkContext 中定义的主要内容,如果未能解决你的问题,请参考以下文章
如何从 PySpark 中的 JavaSparkContext 获取 SparkContext?