druid - 德鲁伊组查询超出资源限制

标签 druid

我正在尝试在超过 500k 数据限制的情况下运行 groupBy 查询。我收到此错误。

{
    "error": "Resource limit exceeded",
    "errorMessage": "Not enough dictionary space to execute this query. Try increasing druid.query.groupBy.maxMergingDictionarySize or enable disk spilling by setting druid.query.groupBy.maxOnDiskStorage to a positive number.",
    "errorClass": "io.druid.query.ResourceLimitExceededException",
    "host": "ubuntu:8083"
}  

如何在 500k 数据限制以上使用 groupBy 查询?我正在使用德鲁伊 0.11.0 版本和 groupBy v2 引擎。我有 100 万行数据,我正在对其运行查询。

我尝试增加 druid.query.groupBy.maxMergingDictionarySizedruid.query.groupBy.maxOnDiskStorage 但这并没有解决我的问题。

编辑

当我尝试增加 druid.processing.buffer.sizeBytes 时,此错误发生在 linux 终端中。

5 errors
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1028) ~[guice-4.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1050) ~[guice-4.1.0.jar:?]
        at io.druid.guice.LifecycleModule$2.start(LifecycleModule.java:154) ~[druid-api-0.11.0.jar:0.11.0]
        at io.druid.cli.GuiceRunnable.initLifecycle(GuiceRunnable.java:101) [druid-services-0.11.0.jar:0.11.0]
        at io.druid.cli.ServerRunnable.run(ServerRunnable.java:50) [druid-services-0.11.0.jar:0.11.0]
        at io.druid.cli.Main.main(Main.java:108) [druid-services-0.11.0.jar:0.11.0]

最佳答案

为此,您需要增加所有历史和实时节点以及代理节点上的缓冲区大小。

druid.processing.buffer.sizeBytes

同时增加 druid.query.groupBy.maxMergingDictionarySizedruid.query.groupBy.maxOnDiskStorage

并仔细检查您的机器是否没有磁盘空间不足。

关于druid - 德鲁伊组查询超出资源限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257528/

相关文章:

python - 没有名为 'pydruid' 的模块

java - Druid中存储HashMap的数据结构

druid - Apache Druid 段粒度

druid - 如何将新列添加到现有的德鲁伊架构中?

hadoop - Hadoop中的深度存储

java - 添加 io.druid 依赖项会破坏 Glassfish 部署

hadoop - 来自Ambari的Superset内部服务器错误

druid - 如何通过 Restful 向德鲁伊插入数据

druid - 使用不同的过滤器将两个查询相交