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

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

我是gcp新手,被要求在dataproc上创建spark应用程序,将源数据库中的数据带到gcp上的bigquery。我使用以下选项创建了一个dataproc集群:

  1. gcloud dataproc clusters create testcluster \
  2. --enable-component-gateway --bucket <bucket_name> \
  3. --region <region> \
  4. --subnet <subnet_name> \
  5. --no-address \
  6. --zone <zone> \
  7. --master-machine-type n1-standard-4 \
  8. --master-boot-disk-size 500 \
  9. --num-workers 2 \
  10. --worker-machine-type n1-standard-4 \
  11. --worker-boot-disk-size 500 \
  12. --metadata 'PIP_PACKAGES=pyspark==2.4.0' \
  13. --initialization-actions <some_script.sh> \
  14. --image-version 1.5-debian10 \
  15. --project <project_name> \
  16. --service-account=<account_name> \
  17. --properties spark:spark.jars=<jar_path_of_source_db_in_bucket>,dataproc:dataproc.conscrypt.provider.enable=false \
  18. --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 命令:

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

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

相关问题