首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Drill占用大量堆空间

Apache Drill占用大量堆空间
EN

Stack Overflow用户
提问于 2019-02-11 17:05:00
回答 1查看 564关注 0票数 0

我在具有3个节点ZK quorum的3个节点上以分布式模式运行Apache drill version 1.15,以查询一个150MB的csv文件。但是,Drill继续使用4 4GB 6 4GB的堆内存。为了测试,我给它提供了18 on的堆空间(所有3个节点上都有32 on的内存)。

在Drill UI中触发3-4个类似的查询后,drill几乎使用了80-90%的可用堆内存。

我有默认的配置,除了18 and的堆空间和20 and的直接内存。

此外,即使在查询执行了几分钟之后,堆内存也会一直被占用。

我怀疑这是否是Apache Drill的正确行为?还是说我漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-02-15 06:09:21

堆内存的使用不仅取决于数据源的大小,还取决于SQL查询的复杂性,因为对于计划优化来说,Calcite HEP planner会创建一个具有RelNode顶点的大型DAG。它使用DEPTH_FIRST算法应用不同的规则进行优化,然后递归处理子代以获得最优的逻辑规划。整个过程都使用堆内存。

对于查询执行后堆内存的占用,Drill使用不同的caching mechanisms来提高下一次查询的执行效率。

如果您可以在堆转储中找到一些奇怪大小的对象,请随时询问Drill community

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54627036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档