Mvpanswer7

spark 查询 elasricsearch 大数据集特别慢

  •  
  •   Mvpanswer7 · Jun 25, 2018 · 6806 views
    This topic created in 2878 days ago, the information mentioned may be changed or developed.
    用 spark 查询 es 集群的时候特别慢,es 集群有三个节点,总共大概有 200 亿条数据,jvm 堆内存 32G。
    spark 查询时 pushdown 了之后结果集大概有 20 亿条数据,一个简单的字段匹配查询要跑一两个小时,目前连接时只用到了这些配置
    es.scroll.size="10000"
    pushdown="true"
    es.scroll.keepalive="10m"
    有人有经验给点优化建议么?
    7 replies    2018-06-28 16:48:50 +08:00
    oaix
        1
    oaix  
       Jun 25, 2018
    是很慢的. 简单字段匹配也是要把整个 es 扫一遍.
    spark 读带 shard 的 mongo 会快一点. 最好是把 es 的数据定期写到 hdfs 里面去.
    Mvpanswer7
        2
    Mvpanswer7  
    OP
       Jun 25, 2018
    @oaix 用 elasticsearch-spark 是会 pushdown 的啊,而且是 scroll 方式
    oaix
        3
    oaix  
       Jun 25, 2018
    @Mvpanswer7 你可以把 `用 elasticsearch-spark 是会 pushdown 的啊` 的来源发出来吗?
    rdd 在 filter 的时候,传参是你自定义的 java 方法,我不认为 elasticsearch-spark 可以这个自定义的过滤翻译成一个 es 查询。
    oaix
        4
    oaix  
       Jun 26, 2018
    我知道你说什么了, 你用的是 spark SQL
    bzzhou
        5
    bzzhou  
       Jun 26, 2018
    贴一下 explain ?确认查询是否真的 pushdown 到了 es
    Mvpanswer7
        6
    Mvpanswer7  
    OP
       Jun 28, 2018
    @oaix 是的是的
    Mvpanswer7
        7
    Mvpanswer7  
    OP
       Jun 28, 2018
    @bzzhou 能打印出来 pushdown 后的 query 里确实有 sql where 里的条件
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4241 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 00:56 · PVG 08:56 · LAX 17:56 · JFK 20:56
    ♥ Do have faith in what you're doing.