本文介绍了sc 未在 SparkContext 中定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的 Spark 包是 spark-2.2.0-bin-hadoop2.7.
My Spark package is spark-2.2.0-bin-hadoop2.7.
我将火花变量导出为
export SPARK_HOME=/home/harry/spark-2.2.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
我用
pyspark
我可以从 spark 加载包
I am able to load packages from spark
from pyspark import SparkContext, SQLContext
from pyspark.ml.regression import LinearRegression
print(SQLContext)
输出是
<class 'pyspark.sql.context.SQLContext'>
但我的错误是
print(sc)
"sc is undefined"
谁能帮帮我...!
推荐答案
在 pysparkShell 中,SparkContext
已经被初始化为 SparkContext(app=PySparkShell, master=local[*])
所以你只需要使用 getOrCreate()
将 SparkContext
设置为一个变量为
In pysparkShell, SparkContext
is already initialized as SparkContext(app=PySparkShell, master=local[*])
so you just need to use getOrCreate()
to set the SparkContext
to a variable as
sc = SparkContext.getOrCreate()
sqlContext = SQLContext(sc)
为了在简单的本地模式下进行编码,您可以执行以下操作
For coding purpose in simple local mode, you can do the following
from pyspark import SparkConf, SparkContext, SQLContext
conf = SparkConf().setAppName("test").setMaster("local")
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
print(sc)
print(sqlContext)
这篇关于sc 未在 SparkContext 中定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!