在spark环境中运行python程序时出错

时间:2015-11-17 06:56:05

标签: python-2.7 hadoop apache-spark pyspark

我正在使用spark 1.3.0。

我在spark python shell中运行python程序时遇到问题。

这是我提交作业的方式:

/ bin / spark-submit progname.py

我发现的错误是,

NameError:名称'sc'未定义

在那条线上。

有什么想法吗? 提前致谢

3 个答案:

答案 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)