小编par*_*sni的帖子

Spark 将任务分配给多个执行器

我想并行运行 SQL 查询,并且能够将并行级别控制为 8 个查询。现在,我正在做这段代码。这个想法是创建 8 个分区并允许执行器并行运行它们。

  (1 to 8).toSeq.toDF.repartition(8) // 8 partitions
  .rdd.mapPartitions(
  x => {
  val conn = createConnection()
    x.foreach{
      s => { // expect the below query be run concurently
      execute(s"SELECT * FROM myTable WHERE col = ${s.get(0)}")
      }
    }
  conn.close()
  x
  }).take(1)
Run Code Online (Sandbox Code Playgroud)

问题是 8 个查询是一一运行的。

我应该如何继续让查询运行 8 by 8 ?

apache-spark

3
推荐指数
1
解决办法
2371
查看次数

标签 统计

apache-spark ×1