首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mvpanswer7
V2EX  ›  Elasticsearch

spark 查询 elasricsearch 大数据集特别慢

  •  
  •   Mvpanswer7 · 2018-06-25 14:39:09 +08:00 · 2264 次点击
    这是一个创建于 571 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 spark 查询 es 集群的时候特别慢,es 集群有三个节点,总共大概有 200 亿条数据,jvm 堆内存 32G。
    spark 查询时 pushdown 了之后结果集大概有 20 亿条数据,一个简单的字段匹配查询要跑一两个小时,目前连接时只用到了这些配置
    es.scroll.size="10000"
    pushdown="true"
    es.scroll.keepalive="10m"
    有人有经验给点优化建议么?
    7 回复  |  直到 2018-06-28 16:48:50 +08:00
    oaix
        1
    oaix   2018-06-25 14:47:06 +08:00
    是很慢的. 简单字段匹配也是要把整个 es 扫一遍.
    spark 读带 shard 的 mongo 会快一点. 最好是把 es 的数据定期写到 hdfs 里面去.
    Mvpanswer7
        2
    Mvpanswer7   2018-06-25 18:02:34 +08:00
    @oaix 用 elasticsearch-spark 是会 pushdown 的啊,而且是 scroll 方式
    oaix
        3
    oaix   2018-06-25 22:46:20 +08:00
    @Mvpanswer7 你可以把 `用 elasticsearch-spark 是会 pushdown 的啊` 的来源发出来吗?
    rdd 在 filter 的时候,传参是你自定义的 java 方法,我不认为 elasticsearch-spark 可以这个自定义的过滤翻译成一个 es 查询。
    oaix
        4
    oaix   2018-06-26 09:31:45 +08:00
    我知道你说什么了, 你用的是 spark SQL
    bzzhou
        5
    bzzhou   2018-06-26 09:37:15 +08:00
    贴一下 explain ?确认查询是否真的 pushdown 到了 es
    Mvpanswer7
        6
    Mvpanswer7   2018-06-28 16:48:26 +08:00
    @oaix 是的是的
    Mvpanswer7
        7
    Mvpanswer7   2018-06-28 16:48:50 +08:00
    @bzzhou 能打印出来 pushdown 后的 query 里确实有 sql where 里的条件
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2348 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 33ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    ♥ Do have faith in what you're doing.