apache-spark - 如何防止在集群模式下运行spark Submit两次失败?

标签 apache-spark apache-spark-sql

我们正在使用 Spark 运行批处理,并使用 spark-submit 来提交带有选项的作业

--deploy-mode cluster \
--master yarn-cluster \

我们基本上采用 csv 文件并对这些文件进行一些处理,然后从中创建 Parquet 文件。我们使用配置文件在同一个 Spark Submit 命令中运行多个文件。现在假设我们正在处理 10 个文件,如果进程失败,假设文件 6 Spark 尝试再次重新运行该进程,它将处理直到文件 6 为止的所有文件,并在之前为所有这 5 个文件写入重复记录失败。我们正在创建 Parquet 文件,因此我们无法控制 Spark 如何命名这些文件,但它总是创建唯一的名称。

有没有办法可以更改 Spark 属性以不重新执行失败的进程?

最佳答案

属性spark.yarn.maxAppAttempts在我的例子中有效,我将其值设置为1,如下所示在我的spark提交命令中:

--conf“spark.yarn.maxAppAttempts=1”

关于apache-spark - 如何防止在集群模式下运行spark Submit两次失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102314/

相关文章:

java - 如何通过更改架构和添加其他属性将 DataFrame 从 Spark 保存到 Cassandra 表

scala - Apache Spark 共享计数器

scala - Spark scala 中的枢轴

scala - 异常 : ERROR SparkContext - Error initializing local SparkContext. java.net.BindException

scala - 减少 Spark 中的数据框以省略空单元格

java - 在 Spark Streaming 中设置检查点间隔有什么用?

apache-spark - 在2个Spark数据框列之间使用“IS IN”

apache-spark - 如何删除 PySpark 中少于三个字母的单词?

java - 使用java连接oracle数据库到apache Spark时出错

python - 无法从列表 : pyspark 创建数据框