我最近在Amazon EMR上设置了一个拥有1个主服务器和2个从服务器的Spark群集。
我可以运行pyspark
,并使用spark-submit
提交作业。
但是,当我创建一个独立的作业,比如job.py
时,我创建了一个SparkContext,如下所示:
sc=SparkContext("local", "App Name")
这似乎不对,但我不知道该放什么。
当我提交作业时,我确信它没有使用整个集群。
如果我想针对整个群集运行作业,请说每个奴隶有4个进程,我有什么需要
a。)作为参数传递给spark-submit
b。)在脚本本身中作为参数传递给SparkContext()
。
答案 0 :(得分:2)
您可以使用
创建火花上下文conf = SparkConf().setAppName(appName)
sc = SparkContext(conf=conf)
并且您必须使用以下命令将程序提交到spark-submit
以用于spark独立群集
./bin/spark-submit --master spark://<sparkMasterIP>:7077 code.py
对于Mesos群集
./bin/spark-submit --master mesos://207.184.161.138:7077 code.py
对于YARN群集
./bin/spark-submit --master yarn --deploy-mode cluster code.py
对于YARN master,配置将从HADOOP_CONF_DIR中读取。