沙师弟,师父的充电器掉了

ES做数据处理,聚合结果太大占用资源太多

Elasticsearch | 作者 sonic0214 | 发布于2017年11月02日 | 阅读数:5527

想对日志文件进行处理,通过聚合操作生成一张关系表。
做了嵌套聚合n*m,乘起来聚合的桶结果有六十多万。因为想要所有聚合结果,又不能像查询一样用scroll操作,所以设置了size为interger.max返回所有结果。
在查询的一瞬间,gc时间飙到7s多,cpu使用率在70以上。
请问这种情况怎么优化,或者这个查询可以拆分成对系统压力小点的查询,或者有其他方案来进行数据处理么,毕竟现在没有成本去使用hadoop做处理。
已邀请:

medcl - 今晚打老虎。

赞同来自: sonic0214

你说的聚合是那种聚合呢?
size 都设置成 interger.max 了,怎么可能不出问题。
如果是 term agg,可以通过 partition 来拆分成多个请求。
https://www.elastic.co/guide/e ... tions
 

要回复问题请先登录注册