例如,有两个维度:[国家、网站]和一个指标:[PV]。
我想知道每个国家网站的平均 PV。
要做到这一点,很容易得到每个国家的总PV,但是很难得到每个国家的网站数量,而且预期的结果是总PV(在每个国家)除以网站数量(在每个国家)国家)。
我可以做的是按如下国家和网站应用“groupBy”查询,然后在我的应用程序中按国家以外的国家对结果进行分组。它非常非常非常慢,因为查询从 Druid 中提取了大量数据,其中大部分数据只是为了求和而毫无意义。
{
"queryType": "groupBy",
"dataSource": "--",
"dimensions": [
"country",
"website"
],
"granularity": "all",
"intervals": [
"--"
],
"aggregations": [
{
"type": "longSum",
"name": "PV",
"fieldName": "PV"
}
]
}
任何人都可以帮助解决这个问题?我想知道德鲁伊不可能不支持这样的常见查询。
提前致谢。
为了清楚起见,我用 SQL 描述了我的预期结果,如果你知道我想做什么或不熟悉 SQL,请忽略以下部分。
SELECT country, sum(a.PV_all) / count(a.website) as PV_AVG FROM
(SELECT country, website, SUM(PV) as PV_all FROM DB GROUP BY country, website ) a
GROUP BY country