Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SqlContext并行提交多个spark查询_Java_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

Java 如何使用SqlContext并行提交多个spark查询

Java 如何使用SqlContext并行提交多个spark查询,java,scala,apache-spark,apache-spark-sql,Java,Scala,Apache Spark,Apache Spark Sql,我想在spark集群中并行运行多个spark SQL,这样我就可以利用完整的资源。我正在使用sqlContext.sql(查询) 编辑 我看到一些示例代码,如下所示 val parallelism = 10 val executor = Executors.newFixedThreadPool(parallelism) val ec: ExecutionContext = ExecutionContext.fromExecutor(executor) val tasks: Seq[String]

我想在spark集群中并行运行多个spark SQL,这样我就可以利用完整的资源。我正在使用
sqlContext.sql(查询)

编辑

我看到一些示例代码,如下所示

val parallelism = 10
val executor = Executors.newFixedThreadPool(parallelism)
val ec: ExecutionContext = ExecutionContext.fromExecutor(executor)
val tasks: Seq[String] = ???
val results: Seq[Future[Int]] = tasks.map(query => {
  Future{
    //spark stuff here
    0
  }(ec)
})
val allDone: Future[Seq[Int]] = Future.sequence(results)
//wait for results
Await.result(allDone, scala.concurrent.duration.Duration.Inf)
executor.shutdown //otherwise jvm will probably not exit 
据我所知,ExecutionContext计算机器中的可用内核(使用ForkJoinPool)并相应地进行并行处理。 但是,如果我们考虑除了单个机器之外的火花簇,又如何保证整个集群资源的利用率?
例如:如果我有一个10节点集群,每个集群有4个核心,那么上面的代码如何保证40个核心得到利用。

感谢您的帮助。但这个问题没有答案。还有一个示例代码会更有用。给你:哇,这非常有用。非常感谢。将尝试相同的方法。:)如果你搜索,你会发现一堆其他类似的问题,有些可能有更好的答案。例如,有。我的搜索技能现在还不是一流的:)