【问题标题】:Where do I configure spark executors and executor memory of a spark job in a dataproc cluster?在 dataproc 集群中,我在哪里配置 spark 执行器和 spark 作业的执行器内存?
【发布时间】:2021-02-22 09:21:38
【问题描述】:

我是 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 作业:

我不明白的是如何指定执行器的数量和执行器的内存? 谁能告诉我在哪里以及如何为我的 spark 作业指定参数 --num-execuorsexecutor-memory

【问题讨论】:

    标签: apache-spark google-cloud-platform google-cloud-dataproc


    【解决方案1】:

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

    --properties=[PROPERTY=VALUE,…] 配置 Spark 的键值对列表。有关可用属性的列表,请参阅: https://spark.apache.org/docs/latest/configuration.html#available-properties.

    使用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 部分中的 UI 进行操作,请单击 ADD PROPERTY 按钮:

    【讨论】:

    • 我是否使用spark.executor.instances 来设置相当于 --num-executors 的执行器数量? .最后一个疑问。如果我必须为每个火花作业更改这些参数,应用这些参数的最佳方法是什么?我是否为所有类型的作业(重负载和小负载)确定一种最佳配置,然后在创建时将其应用到我的集群?
    • @Metadata (1) 是的。 (2) 在实践中很难为所有工作确定一种配置。最好为每个作业设置属性。至少如果您确定作业需要相同的资源,您可以使用相同的配置提交它们。
    猜你喜欢
    • 2020-07-19
    • 1970-01-01
    • 2017-01-02
    • 2023-04-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    相关资源
    最近更新 更多