gpt4 book ai didi

apache-spark - 将 GCS 暂存目录用于 Spark 作业(在 Dataproc 上)

转载 作者:行者123 更新时间:2023-12-04 05:06:06 28 4
gpt4 key购买 nike

我正在尝试更改 Spark 暂存目录以防止在 worker 退役时丢失数据(在带有 Spark 2.4 的 google dataproc 上)。
我想将 HDFS 暂存切换到 Google Cloud Storage 暂存。

当我运行这个命令时:

spark-submit --conf "spark.yarn.stagingDir=gs://my-bucket/my-staging/"  gs://dataproc-examples-2f10d78d114f6aaec76462e3c310f31f/src/pyspark/hello-world/hello-world.py

我有这个错误:

org.apache.spark.SparkException: Application application_1560413919313_0056 failed 2 times due to AM Container for appattempt_1560413919313_0056_000002 exited with exitCode: -1000

Failing this attempt.Diagnostics: [2019-06-20 07:58:04.462]File not found : gs:/my-staging/.sparkStaging/application_1560413919313_0056/pyspark.zip java.io.FileNotFoundException: File not found : gs:/my-staging/.sparkStaging/application_1560413919313_0056/pyspark.zip

Spark 作业失败,但 .sparkStaging/ 目录已在 GCS 上创建。

对这个问题有什么想法吗?

谢谢。

最佳答案

首先,重要的是要认识到暂存目录主要用于为执行程序(主要是 jars 和其他存档)暂存工件,而不是在作业执行时存储中间数据。如果您想在工作人员退役后(例如,在机器 preemption 或缩小规模之后)保留中间 作业数据(主要是混洗数据),则 Dataproc Enhanced Flexibility Mode (目前处于 alpha 阶段)可能对您有所帮助。

您的命令适用于 Dataproc 镜像版本 1.3 和 1.4。确保您的目标暂存存储桶存在并且 Dataproc 集群(即集群运行的 service account)对该存储桶具有读写权限。请注意 GCS connector不会为您创建存储桶。

关于apache-spark - 将 GCS 暂存目录用于 Spark 作业(在 Dataproc 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56681705/

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