我正在使用spark 1.3.0。
我在spark python shell中运行python程序时遇到问题。
这是我提交作业的方式:
/ bin / spark-submit progname.py
我发现的错误是,
NameError:名称'sc'未定义
在那条线上。
有什么想法吗? 提前致谢
答案 0 :(得分:1)
## Imports
from pyspark import SparkConf, SparkContext
## CONSTANTS
APP_NAME = "My Spark Application"
##OTHER FUNCTIONS/CLASSES
## Main functionality
def main(sc):
rdd = sc.parallelize(range(1000), 10)
print rdd.mean()
if __name__ == "__main__":
# Configure OPTIONS
conf = SparkConf().setAppName(APP_NAME)
conf = conf.setMaster("local[*]")
#in cluster this will be like
#"spark://ec2-0-17-03-078.compute-#1.amazonaws.com:7077"
sc = SparkContext(conf=conf)
# Execute Main functionality
main(sc)
答案 1 :(得分:0)
conf = pyspark.SparkConf()
这是你应该如何创建SparkConf对象。
此外,您可以使用链接来设置应用程序名称等
conf = pyspark.SparkConf().setAppName("My_App_Name")
然后传递此配置var以创建spark上下文。
答案 2 :(得分:-1)
Spark程序必须做的第一件事是创建一个SparkContext对象,它告诉Spark如何访问集群。要创建SparkContext,首先需要构建一个SparkConf对象,其中包含有关应用程序的信息。
conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)