我必须迭代一个参数列表,并为每个参数运行一个spark作业。下面运行正常。
for(i <- 0 to 10) {
// run spark query with i: spark.sql(s" ... $i ...")
}
现在,我有两个要求: 1,在运行带有参数i的spark作业之前,请检查一些条件,然后运行或跳过它。 2,使用参数i运行spark作业后,检查一些条件,我们可以重新运行它。
代码可能看起来像是在说谎:
for(i <- 0 to 10) {
if(condition_check1()) {
// run spark query with i: spark.sql(s" ... $i ...")
if(check2_failed()) {
// repeat this spark job
}
}
}
如何实现上述条件检查和重复/跳过逻辑?顺便说一句,我们需要在集群模式下运行spark作业,因此bash脚本很难做到以上几点。谢谢
以下逻辑如何:
var i = 0
while(i <= 0 && condition_check1()) {
// run spark query with i: spark.sql(s" ... $i ...")
if(check2_failed()) {
// repeat this spark job
} else {
i = i + 1
}
}