我正在使用德鲁伊创建一个用于生成报告的UI。对于脚本,我使用以下代码:
{
"type" : "doubleSum",
"name" : "impressions",
"fieldName" : "impressions"
},
{
"type" : "doubleSum",
"name" : "clicks",
"fieldName" : "clicks"
},
{
"type" : "doubleSum",
"name" : "pvconversions",
"fieldName" : "pvconversions"
},
{
"type" : "doubleSum",
"name" : "pcconversions",
"fieldName" : "pcconversions"
}我还需要两个字段:
Total Conversions = pvconversions+pcconversions
CTR = Clicks / Impressions关于这件事,我找不到任何关于如何写的东西。有人能帮上忙吗。
谢谢
发布于 2016-09-05 11:47:45
您的问题可以使用聚合和postAggregations来解决,如下所示:
{
"queryType":"timeseries",
"dataSource":"data",
"granularity":"hour",
"descending":"false",
"aggregations":[
{"type":"doubleSum", "name":"sum-pvconversions", "fieldName":"pvconversions"},
{"type":"doubleSum", "name":"sum-pcconversions", "fieldName":"pcconversions"},
{"type":"doubleSum", "name":"sum-clicks", "fieldName":"clicks"},
{"type":"doubleSum", "name":"sum-impressions", "fieldName":"impressions"}
],
"postAggregations":[
{
"type":"arithmetic",
"name":"Conversions",
"fn":"+",
"fields":[
{"type":"fieldAccess", "name":"postAgg-proceed", "fieldName":"sum-pvconversions"},
{"type":"fieldAccess", "name":"postAgg-numbers", "fieldName":"sum-pcconversions"}
]
},
{
"type":"arithmetic",
"name":"CTR",
"fn":"/",
"fields":[
{"type":"fieldAccess", "name":"postAgg-click", "fieldName":"sum-clicks"},
{"type":"fieldAccess", "name":"postAgg-impression", "fieldName":"sum-impressions"}
]
}
],
"intervals":["2016-08-22T01/2016-08-29T03"],
"context":{
"skipEmptyBuckets":"true"
}
}发布于 2016-05-15 14:52:28
您可以通过在timeseries查询中使用聚合来完成此操作。这不是你要找的吗?
发布于 2016-08-21 12:18:02
您必须在查询中使用post聚合。来自德鲁伊的文献
后聚合是处理的规范,当它们从Druid中出来时,应该发生在聚合值上。如果将post聚合作为查询的一部分,请确保包含后聚合程序所需的所有聚合器。
例如,要计算CTR,以下是post聚合:
"postAggregations" : [{
"type" : "arithmetic",
"name" : "average",
"fn" : "*",
"fields" : [
{ "type" : "arithmetic",
"name" : "CTR",
"fn" : "/",
"fields" : [
{ "type" : "fieldAccess", "name" : "clicks", "fieldName" : "clicks" },
{ "type" : "fieldAccess", "name" : "impressions", "fieldName" : "impressions" }
]
}https://stackoverflow.com/questions/36933973
复制相似问题