【发布时间】:2021-05-26 23:05:00
【问题描述】:
我将遥测数据推送到 AWS 时间流:
| measure_value::varchar | IP | time | measure_name |
|---|---|---|---|
| test.html | 192.168.1.100 | 2021-05-25 14:27:45 | hits |
| blah.html | 192.168.1.101 | 2021-05-25 14:27:45 | hits |
| test.html | 192.168.1.102 | 2021-05-25 14:27:46 | hits |
我希望在时间流中显示数据的聚合,向我显示每小时每个 uri 的点击次数。
| measure_value::varchar | Count | time |
|---|---|---|
| test.html | 2 | 2021-05-25 14:00 |
| blah.html | 1 | 2021-05-25 14:00 |
我正在尝试使用:
SELECT measure_value::varchar as URIs, CREATE_TIME_SERIES(time, measure_value::varchar) AS served FROM $__database.$__table WHERE $__timeFilter group by measure_value::varchar
但我收到了错误:
ValidationException: Duplicate timestamps are not allowed in a timeseries.
是我使用了错误的函数还是我的数据有误?
====================
尝试@berto99 的解决方案...我明白了:
SELECT measure_value::varchar AS URIs, date_trunc('hour', time) AS hour, count(measure_value::varchar) as queries
FROM $__database.$__table
WHERE $__timeFilter
GROUP BY measure_value::varchar, date_trunc('hour', time)
======================
更新 #2:
SELECT measure_value::varchar AS URIs, bin(time, 15m) AS hour, count(measure_value::varchar) as queries
FROM $__database.$__table
WHERE $__timeFilter
GROUP BY measure_value::varchar, bin(time, 15m) order by hour
【问题讨论】:
-
感谢您的编辑...有效吗?
-
@Berto99 查看更新...它越来越接近工作了。
-
嗨,我刚刚删除了一条评论,因为几周前我遇到了同样的问题,问题是结果集没有按时间排序,所以你应该按小时排序(检查我的答案,我已经更新了)
-
但是,我认为您应该在图形选项中将实体设置为
measure_value::varchar,以便它为每个“网页”绘制不同的线