Hadoop 使用Spark submit在整个集群中运行Spark作业

Hadoop 使用Spark submit在整个集群中运行Spark作业,hadoop,apache-spark,pyspark,emr,amazon-emr,Hadoop,Apache Spark,Pyspark,Emr,Amazon Emr,我最近在Amazon EMR上建立了一个Spark集群,其中有1个主服务器和2个从服务器 我可以运行pyspark,并使用spark submit提交作业 但是,当我创建一个独立作业(如job.py)时,我会创建一个SparkContext,如下所示: sc=SparkContext("local", "App Name") 这似乎不对,但我不知道该放什么 当我提交作业时,我确信它没有利用整个集群 如果我想对整个集群运行一个作业,比如说每个从机运行4个进程,我必须做什么 a、 )作为参数传递给

我最近在Amazon EMR上建立了一个Spark集群,其中有1个主服务器和2个从服务器

我可以运行
pyspark
,并使用
spark submit
提交作业

但是,当我创建一个独立作业(如
job.py
)时,我会创建一个SparkContext,如下所示:

sc=SparkContext("local", "App Name")
这似乎不对,但我不知道该放什么

当我提交作业时,我确信它没有利用整个集群

如果我想对整个集群运行一个作业,比如说每个从机运行4个进程,我必须做什么

a、 )作为参数传递给
spark submit


b、 )作为参数传递给脚本本身中的
SparkContext()

您可以使用

conf = SparkConf().setAppName(appName)
sc = SparkContext(conf=conf)
对于spark standalone cluster,您必须使用以下命令将程序提交到
spark submit

./bin/spark-submit --master spark://<sparkMasterIP>:7077 code.py
纱线簇的设计

./bin/spark-submit --master yarn --deploy-mode cluster code.py
对于纱线主机,配置将从HADOOP_CONF_DIR读取

./bin/spark-submit --master yarn --deploy-mode cluster code.py