У меня есть искра scala приложение. Я пытаюсь использовать внутри него Futures, чтобы распараллелить несколько независимых наборов операций. Я называю их в Futures, и они возвращают мне DataFrame типа Future. Как я могу объединить их в конце и выдать ошибку, если какое-либо из Future не сможет вычислить. Ниже мой код. Когда я пытаюсь применить объединение Dataframe в блоке onComplete, он говорит об этой ошибке
value union is not a member of scala.concurrent.Future[(scala.concurrent.Future[org.apache.spark.sql.DataFrame], scala.concurrent.Future[org.apache.spark.sql.DataFrame], scala.concurrent.Future[org.apache.spark.sql.DataFrame])]..
Любая помощь будет высоко оценена Спасибо
val future_session = Future{ ProcessSession(df, spark) }
val future_links = Future{ ProcessSession(df, spark) }
val future_nodes = Future { ProcessSession(df, spark) }
val result = for {
r1 <- future_session
r2 <- future_links
r3 <- future_nodes
} yield (
r1,r2,r3
)
result.onComplete {
case Success(x) => {
log.info("Execution completed")
}
case Failure(e) => e.printStackTrace
}