我的spark sql限制非常慢

时间:2017-11-30 02:50:06

标签: apache-spark elasticsearch apache-spark-sql spark-submit

我使用spark来阅读elasticsearch.Like

select col from index limit 10;

问题是索引非常大,它包含1000亿行。并且spark产生数千个任务来完成工作。
我只需要10行,即使1个任务也可以返回10行,可以完成工作。我不需要这么多任务。
限制非常缓慢甚至限制1.
代码:

sql = select col from index limit 10
sqlExecListener.sparkSession.sql(sql).createOrReplaceTempView(tempTable)

1 个答案:

答案 0 :(得分:2)

source code of limit表明,它将为每个分区使用前limit个元素,然后它将扫描所有分区。

要加快查询速度,可以指定分区键的一个值。假设您使用day作为分区键,则以下查询会更快

select col from index where day = '2018-07-10' limit 10;