在德鲁伊组中超出了资源限制

时间:2018-07-10 04:58:53

标签: 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]

1 个答案:

答案 0 :(得分:0)

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

druid.processing.buffer.sizeBytes

还要增加druid.query.groupBy.maxMergingDictionarySizedruid.query.groupBy.maxOnDiskStorage

并再次检查您的计算机是否未用完磁盘。