我有一个要写给Hive的DataFrame,我想在该Hive表上实现并行读写。下面是我的代码:
for (a <- 0 until 20) {
val thread = new Thread {
override def run {
dF.write.format("parquet").mode("overwrite").insertInto("hive-table")
}
}
thread.start
}
这里数字20是我正在硬编码的线程数。有没有一种方法可以获取可以使用的最大线程数,从而可以为其设置基准。此外,写入操作将在不同的配置单元表上进行。 注意:这必须在群集模式下实现。 另外,还有其他更好的方法来执行这种多线程吗,例如在Scala中使用Futures?