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

tzdcorbm  于 2021-07-13  发布在  Spark
关注(0)|答案(1)|浏览(409)

我是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

我以以下方式提交spark工作:

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

ny6fqffe

ny6fqffe1#

你可以通过 --properties 选项: --properties=[PROPERTY=VALUE,…] 要配置spark的键值对列表。有关可用属性的列表,请参见:https://spark.apache.org/docs/latest/configuration.html#available-属性。
示例使用 gcloud 命令:

gcloud dataproc jobs submit pyspark path_main.py --cluster=$CLUSTER_NAME \
--region=$REGION \
--properties="spark.submit.deployMode"="cluster",\
"spark.dynamicAllocation.enabled"="true",\
"spark.shuffle.service.enabled"="true",\
"spark.executor.memory"="15g",\
"spark.driver.memory"="16g",\
"spark.executor.cores"="5"

或者如果您更喜欢通过 Properties 通过单击 ADD PROPERTY 按钮:

相关问题