我正在使用 Spark Standalone 集群管理器。我正在用runDumpJob
方法倾倒一个巨大的表格(见下面的代码)。runDumpJob
并行启动几个s - 我runDumpJob
从不同的线程调用。
问题
有些runDumpJob
s 失败并且 Spark 不会自动重新启动。
问题
- 如何自动重新启动失败的作业?
- 如何从某个检查点自动恢复失败的工作?
代码
public void runDumpJob(SparkSession sparkSession, MyParams params) {
final Dataset<Row> dataset = sparkSession
.sqlContext()
.read()
.format("jdbc")
.option("url", params.getJdbcUrl())
.option("driver", params.getDriver())
.option("dbtable", params.getSqlQuery())
.option("fetchSize", params.getJobParam("fetchSize"))
.load();
dataset
.coalesce(1)
.write()
.parquet(params.getPath());
}