纱线cluser'sc'中的火花没有定义

Tar*_*ara 5 python apache-spark apache-spark-sql

我正在使用spark 1.3.1.

火花在纱线群集模式下运行时是否必须声明sc?我在spark python shell中运行相同的python程序没有问题.

这是我提交工作的方式:

/bin/spark-submit --master yarn-cluster test.py --conf conf/spark-defaults.conf
Run Code Online (Sandbox Code Playgroud)

其中火花默认我也宣布在spark.yarn.jar上其中,还要检查权限spark.yarn.jar是和/user/admin,火花用户,使有读-写-执行所有.

在我的test.py计划中,我有from pyspark.sql import SQLContext第一行

sqlctx=SQLContext(sc)
Run Code Online (Sandbox Code Playgroud)

而错误是

NameError: name 'sc' is not defined
Run Code Online (Sandbox Code Playgroud)

在那条线上.

任何的想法?

Tag*_*gar 17

这对我有用:

from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext

conf = SparkConf().setAppName("building a warehouse")
sc = SparkContext(conf=conf)
sqlCtx = SQLContext(sc)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Jus*_*ony 11

sc是在其中创建的辅助值spark-shell,但不会自动创建spark-submit.您必须实例化自己SparkContext并使用它

conf = SparkConf().setAppName(appName)
sc = SparkContext(conf=conf)
Run Code Online (Sandbox Code Playgroud)