如何在德鲁伊中进行预计算

时间:2018-07-12 15:46:17

标签: druid

我每天有10 TB以上的数据摄取到Druid,数据格式为:srcIP,DestIP,Traffic。

会有一些频繁的查询,例如:to get the max/min/average of traffic every minute.实际上,我们每分钟会向德鲁伊提取大约10万条记录。因此,我需要每隔一分钟预先计算一次指标,否则查询将很慢。

因此,有什么有效的方法可以让我非常快速地预先计算每分钟的最小/最大/平均流量。 另外,用户可能希望按小时或半天的时间来获取min/max/average的流量。

2 个答案:

答案 0 :(得分:0)

对于计算最小/最大/平均值,我认为如果以后没有数据更改,则druid足以为您计算和缓存结果。 即使您在摄取时执行此操作,它仍将占用比德鲁伊在最小/最大/平均值上可能需要的资源更多的资源。

您可以考虑优化druid的配置以使其在您的用例中有效工作,例如。数据的粒度,聚合或分段大小。

答案 1 :(得分:0)

您需要使用TYPE的最小值和最大值

  "type": "**timeMax**",
  "type": "**timeMin**”,

要进行30分钟的汇总,您需要groupBy

 granularity":"**thirty_minute**"

average ...