【发布时间】:2018-06-27 23:07:04
【问题描述】:
Spark 版本 - 2.2.1。
我创建了一个有 64 个桶的桶表,我正在执行一个聚合函数 select t1.ifa,count(*) from $tblName t1 where t1.date_ = '2018-01-01' group by ifa 。我可以看到 Spark UI 中有 64 个任务,它们仅使用 20 个执行器(每个执行器有 16 个内核)。有没有办法可以扩展任务的数量,或者这就是分桶查询应该运行的方式(运行内核的数量)作为桶的数量)?
这里是创建表:
sql("""CREATE TABLE level_1 (
bundle string,
date_ date,
hour SMALLINT)
USING ORC
PARTITIONED BY (date_ , hour )
CLUSTERED BY (ifa)
SORTED BY (ifa)
INTO 64 BUCKETS
LOCATION 'XXX'""")
这是查询:
sql(s"select t1.ifa,count(*) from $tblName t1 where t1.date_ = '2018-01-01' group by ifa").show
【问题讨论】:
标签: apache-spark spark-dataframe apache-spark-dataset apache-spark-2.2