spark 查询 elasricsearch 大数据集特别慢

2018-06-25 14:39:09 +08:00
 Mvpanswer7
用 spark 查询 es 集群的时候特别慢,es 集群有三个节点,总共大概有 200 亿条数据,jvm 堆内存 32G。
spark 查询时 pushdown 了之后结果集大概有 20 亿条数据,一个简单的字段匹配查询要跑一两个小时,目前连接时只用到了这些配置
es.scroll.size="10000"
pushdown="true"
es.scroll.keepalive="10m"
有人有经验给点优化建议么?
4133 次点击
所在节点    Elasticsearch
7 条回复
oaix
2018-06-25 14:47:06 +08:00
是很慢的. 简单字段匹配也是要把整个 es 扫一遍.
spark 读带 shard 的 mongo 会快一点. 最好是把 es 的数据定期写到 hdfs 里面去.
Mvpanswer7
2018-06-25 18:02:34 +08:00
@oaix 用 elasticsearch-spark 是会 pushdown 的啊,而且是 scroll 方式
oaix
2018-06-25 22:46:20 +08:00
@Mvpanswer7 你可以把 `用 elasticsearch-spark 是会 pushdown 的啊` 的来源发出来吗?
rdd 在 filter 的时候,传参是你自定义的 java 方法,我不认为 elasticsearch-spark 可以这个自定义的过滤翻译成一个 es 查询。
oaix
2018-06-26 09:31:45 +08:00
我知道你说什么了, 你用的是 spark SQL
bzzhou
2018-06-26 09:37:15 +08:00
贴一下 explain ?确认查询是否真的 pushdown 到了 es
Mvpanswer7
2018-06-28 16:48:26 +08:00
@oaix 是的是的
Mvpanswer7
2018-06-28 16:48:50 +08:00
@bzzhou 能打印出来 pushdown 后的 query 里确实有 sql where 里的条件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465656

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX