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

spark 查询 elasricsearch 大数据集特别慢

  •  
  •   Mvpanswer7 · 297 天前 · 1557 次点击
    这是一个创建于 297 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 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
        1
    oaix   297 天前
    是很慢的. 简单字段匹配也是要把整个 es 扫一遍.
    spark 读带 shard 的 mongo 会快一点. 最好是把 es 的数据定期写到 hdfs 里面去.
        2
    Mvpanswer7   297 天前
    @oaix 用 elasticsearch-spark 是会 pushdown 的啊,而且是 scroll 方式
        3
    oaix   296 天前
    @Mvpanswer7 你可以把 `用 elasticsearch-spark 是会 pushdown 的啊` 的来源发出来吗?
    rdd 在 filter 的时候,传参是你自定义的 java 方法,我不认为 elasticsearch-spark 可以这个自定义的过滤翻译成一个 es 查询。
        4
    oaix   296 天前
    我知道你说什么了, 你用的是 spark SQL
        5
    bzzhou   296 天前
    贴一下 explain ?确认查询是否真的 pushdown 到了 es
        6
    Mvpanswer7   294 天前
    @oaix 是的是的
        7
    Mvpanswer7   294 天前
    @bzzhou 能打印出来 pushdown 后的 query 里确实有 sql where 里的条件
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3039 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 10:48 · PVG 18:48 · LAX 03:48 · JFK 06:48
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1