SparkContext()和SparkConf()是否有错误?

时间:2017-02-08 01:09:24

标签: apache-spark pyspark

当我尝试使用SparkConf初始化SparkContext时,如下所示:

from pyspark import *
from pyspark.streaming import *

cfg = SparkConf().setMaster('yarn').setAppName('MyApp')
sc = SparkContext(conf=cfg)
print(sc.getConf().getAll())

rdd = sc.parallelize(list('abcdefg')).map(lambda x:(x,1))
print(rdd.collect())

输出显示它不与纱线一起运行:

[(u'spark.master', u'local[10]'), ...]

它使用$ SPARK_HOME / conf / spark-defaults.conf中的配置:

spark.master local[10]

我的电脑: Python2.7.2 Spark2.1.0

然后我在spark2.0.2中运行相同的代码,SparkConf()也可以运行

所以这真的是一个错误?

1 个答案:

答案 0 :(得分:0)

要使用yarn,您应指定驱动程序是在主服务器还是其中一个工作节点上运行。

yarn-client将在主节点上执行驱动程序

SparkConf().setMaster('yarn-client')

yarn-cluster将在其中一个工作节点上执行驱动程序

SparkConf().setMaster('yarn-cluster')

Here是在yarn-client模式下运行的示例。