2017-08-16 88 views
1

我上周一直在使用德鲁伊,并希望为某些postAggregations启用JavaScript。如何启用德鲁伊的Javascript

我想我遵循了概述步骤并更新了../con f/druid/_common/中的common.runtime.properties文件以包含druid.javascript.enabled=true。然后,我停止了当前进程和重新跑了快速启动程序,但它仍然表示,已禁用JavaScript:

{ 
    "error" : "Unknown exception", 
    "errorMessage" : "Instantiation of [simple type, class io.druid.query.aggregation.post.JavaScriptPostAggregator] value failed: JavaScript is disabled. (through reference chain: java.util.ArrayList[0])", 
    "errorClass" : "com.fasterxml.jackson.databind.JsonMappingException", 
    "host" : null 
} 

我目前运行它在“快速入门”配置 - 单一的本地机器。任何指针?谢谢!

回答

0

JavaScript查询德鲁伊聚合。将该文件保存为.body并点击卷曲请求。 这是一个查询平均值的示例。

卷曲-X POST “http://localhost:8082/druid/v2/?pretty” \ -H '内容类型:应用程序/ JSON' -d @ query.body

{ 
    "queryType":"groupBy", 
    "dataSource":"whirldata", 
    "granularity":"all", 
    "dimensions":[], 
    "aggregations":[{"name":"rows","type":"count","fieldName":"rows"}, 
{"name":"TargetDOS","type":"doubleSum","fieldName":"Target DOS"}],"postAggregations":[ 
{ 
    "type": "javascript", 
    "name": "Target DOS Average", 
    "fieldNames": ["TargetDOS", "rows"], 
    "function": "function(TargetDOS, rows) { return Math.abs(TargetDOS)/rows; }" 
}], "intervals":[ "2006-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z" ]} 
+0

首先你需要在所有的common.runtime.properties文件中启用java脚本来包含druid.javascript.enabled = true –

+0

希望它会帮助.. –

0

你缺少的部分是可能的快速启动从conf-quickstart读取配置,而不是conf。所以请尝试编辑conf-quickstart/druid/_common/common.runtime.properties