gpt4 book ai didi

apache-spark - 如何将 spark 参数传递给 dataproc 工作流模板?

转载 作者:行者123 更新时间:2023-12-04 03:42:08 24 4
gpt4 key购买 nike

这是我所拥有的:

gcloud dataproc workflow-templates create $TEMPLATE_ID --region $REGION

gcloud beta dataproc workflow-templates set-managed-cluster $TEMPLATE_ID --region $REGION --cluster-name dailyhourlygtp --image-version 1.5
--master-machine-type=n1-standard-8 --worker-machine-type=n1-standard-16 --num-workers=10 --master-boot-disk-size=500
--worker-boot-disk-size=500 --zone=europe-west1-b


export STEP_ID=step_pyspark1

gcloud dataproc workflow-templates add-job pyspark \
gs://$BUCKET_NAME/my_pyscript.py \
--step-id $STEP_ID \
--workflow-template $TEMPLATE_ID \
--region $REGION \
--jar=gs://spark-lib/bigquery/spark-bigquery-latest_2.12.jar
--initialization-actions gs://spark-lib/bigquery/spark-bigquery-latest_2.12.jar
--properties spark.jars.packages=gs://spark-lib/bigquery/spark-bigquery-latest_2.12.jar

gcloud dataproc workflow-templates instantiate $TEMPLATE_ID --region=$REGION

所以这里的问题是如何将以下 spark 参数传递给我的 my_pyscript.py:

--master yarn     --deploy-mode cluster     --conf "spark.sql.shuffle.partitions=900" 
--conf "spark.sql.autoBroadcastJoinThreshold=10485760" --conf "spark.executor.memoryOverhead=8192"
--conf "spark.dynamicAllocation.enabled=true" --conf "spark.shuffle.service.enabled=true"
--executor-cores 5 --executor-memory 15g --driver-memory 16g

最佳答案

文档中对此进行了描述 gcloud dataproc workflow-templates add-job pyspark :

--properties=[PROPERTY=VALUE,…]

List of key value pairs to configure PySpark. For a list of available properties, see:https://spark.apache.org/docs/latest/configuration.html#available-properties.

所以你会像你submit pyspark jobs时那样做到没有模板的 dataproc 集群。已提交作业的 spark 属性通过 --properties 参数作为键值数组传递。

如果您的 Python 作业需要参数,您可以在位置参数的右侧指定它们 --并以空格分隔。

对于你的例子,可以这样做:

gcloud dataproc workflow-templates add-job pyspark \
gs://$BUCKET_NAME/my_pyscript.py \
--step-id $STEP_ID \
--workflow-template $TEMPLATE_ID \
--region $REGION \
--properties="spark.submit.deployMode"="cluster",\
"park.sql.shuffle.partitions"="900",\
"spark.sql.autoBroadcastJoinThreshold"="10485760",\
"spark.executor.memoryOverhead"="8192",\
"spark.dynamicAllocation.enabled"="true",\
"spark.shuffle.service.enabled"="true",\
"spark.executor.memory"="15g",\
"spark.driver.memory"="16g",\
"spark.executor.cores"="5" \
-- arg1 arg2 # for named args: -- -arg1 arg1 -arg2 arg2

关于apache-spark - 如何将 spark 参数传递给 dataproc 工作流模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65823816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com