Spark перезапустить и оптимизировать дамп огромную работу таблицы
Я использую Spark Standalone менеджер кластера. Я сбрасываю огромные столы с runDumpJob
метод (см. код ниже). Чтобы запустить несколько runDumpJob
параллельно - звоню runDumpJob
из разных тем.
Эта проблема
Некоторые из runDumpJob
сбои и не перезапускаются 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());
}