no1*_*3ff 6 elasticsearch apache-spark apache-spark-sql spark-submit
我使用spark从elasticsearch读取。
select col from index limit 10;
Run Code Online (Sandbox Code Playgroud)
问题在于索引非常大,包含1000亿行,而spark会生成数千个任务来完成工作。
我只需要10行,即使1个任务也可以返回10行就可以完成工作了,我不需要那么多任务。
极限甚至是极限1都很慢。
代码?
sql = select col from index limit 10
sqlExecListener.sparkSession.sql(sql).createOrReplaceTempView(tempTable)
Run Code Online (Sandbox Code Playgroud)
limit的源代码显示它会limit
为每个分区取第一个元素,然后它会扫描所有分区。
为了加快查询速度,您可以指定分区键的一个值。假设您使用的day
是分区键,下面的查询会快很多
select col from index where day = '2018-07-10' limit 10;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
840 次 |
最近记录: |