Apache spark Spark中相同数据帧的并行写入

Apache spark Spark中相同数据帧的并行写入,apache-spark,Apache Spark,假设Spark中有一个数据帧,我需要将其结果写入两个数据库,其中一个存储原始数据帧,而另一个存储稍微修改的版本(例如,删除一些列)。由于这两个操作都可能需要一些时间,因此是否可以/建议并行运行这些操作,或者因为Spark并行处理同一对象而导致问题?Spark已经并行化了转换/操作(因此写入),并且您不能并行化2个并行化的转换/操作。这对调度程序来说毫无意义。您可以使用scala futureSpark来并行化转换/操作(因此写入),也不能并行化2个并行化的转换/操作。这对调度程序没有意义。您可以

假设Spark中有一个
数据帧
,我需要将其结果写入两个数据库,其中一个存储原始数据帧,而另一个存储稍微修改的版本(例如,删除一些列)。由于这两个操作都可能需要一些时间,因此是否可以/建议并行运行这些操作,或者因为Spark并行处理同一对象而导致问题?

Spark已经并行化了转换/操作(因此写入),并且您不能并行化2个并行化的转换/操作。这对调度程序来说毫无意义。您可以使用scala futureSpark来并行化转换/操作(因此写入),也不能并行化2个并行化的转换/操作。这对调度程序没有意义。您可以使用scala Future我的问题是这样做是否有意义(而不是如何做),或者我是否会遇到并发问题。我的问题是这样做是否有意义(而不是如何做),或者我是否会遇到并发问题。
import java.util.concurrent.Executors
import scala.concurrent._

implicit val ec = ExecutionContext.fromExecutor(Executors.newFixedThreadPool(10))

def write1(){
//your save statement for first dataframe
}


def write2(){
//your save statement for second dataframe
}

def writeAllTables() {
Future{ write1()}
Future{ write2()}
}