Apache spark 我在哪里配置dataproc集群中spark作业的spark执行器和执行器内存?

Apache spark 我在哪里配置dataproc集群中spark作业的spark执行器和执行器内存?,apache-spark,google-cloud-platform,google-cloud-dataproc,Apache Spark,Google Cloud Platform,Google Cloud Dataproc,我是GCP新手,被要求在dataproc上工作,创建spark应用程序,将数据从源数据库带到GCP上的Bigquery。 我使用以下选项创建了dataproc群集: gcloud dataproc clusters create testcluster \ --enable-component-gateway --bucket <bucket_name> \ --region <region> \ --subnet <subnet_name> \ --no-a

我是GCP新手,被要求在dataproc上工作,创建spark应用程序,将数据从源数据库带到GCP上的Bigquery。 我使用以下选项创建了dataproc群集:

gcloud dataproc clusters create testcluster \
--enable-component-gateway --bucket <bucket_name> \
--region <region> \
--subnet <subnet_name> \
--no-address \
--zone <zone> \
--master-machine-type n1-standard-4 \
--master-boot-disk-size 500 \
--num-workers 2 \
--worker-machine-type n1-standard-4 \
--worker-boot-disk-size 500 \
--metadata 'PIP_PACKAGES=pyspark==2.4.0' \
--initialization-actions <some_script.sh> \
--image-version 1.5-debian10 \
--project <project_name> \
--service-account=<account_name> \
--properties spark:spark.jars=<jar_path_of_source_db_in_bucket>,dataproc:dataproc.conscrypt.provider.enable=false \
--optional-components ANACONDA,JUPYTER
gcloud dataproc集群创建testcluster\
--启用组件网关--bucket\
--区域\
--子网\
--没有地址\
--地带\
--主机类型n1-standard-4\
--主引导盘大小500\
--工人人数2\
--工人机器类型n1-standard-4\
--工作启动磁盘大小500\
--元数据'PIP_PACKAGES=pyspark==2.4.0'\
--初始化操作\
--图像版本1.5-debian10\
--计划\
--服务帐户=

我不明白的是如何指定执行器的数量和执行器内存? 有人能告诉我在哪里以及如何将参数
--num execuors
execuor memory
指定给我的spark作业吗?

您可以通过以下选项传递它们:

--properties=[PROPERTY=VALUE,…]
要配置Spark的键值对列表。有关可用属性的列表,请参见:

使用
gcloud
命令的示例:

gcloud dataproc作业提交pyspark path\u main.py--cluster=$cluster\u NAME\
--地区=$地区\
--properties=“spark.submit.deployMode”=“集群”\
“spark.DynamicLocation.enabled”=“true”\
“spark.shuffle.service.enabled”=“true”\
“spark.executor.memory”=“15g”\
“spark.driver.memory”=“16g”\
“spark.executor.cores”=“5”
或者,如果您希望通过单击
添加属性
按钮,通过
属性
部分的UI执行此操作:


我是否使用
spark.executor.instances
设置与--num executors?相等的执行器数量。最后一个疑问。如果我必须为每个spark作业更改这些参数,应用这些参数的最佳方法是什么?我是否为所有类型的作业(重负载和小负载)确定了一个最佳配置,然后在创建集群时将其应用于集群?@Metadata(1)是。(2) 实际上,很难为所有作业确定一种配置。最好为每个作业设置属性。至少如果您确定作业需要相同的资源,您可以使用相同的配置提交它们。