Skip to content

Commit

Permalink
chore: fix (#146)
Browse files Browse the repository at this point in the history
  • Loading branch information
yinbo3 authored Sep 24, 2024
1 parent 9934907 commit c1455d0
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions zh_CN/development-guide/downsampling.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 聚合查询

在时序数据库中,降采样与聚合运算是较为常用的应用场景。通过降采样/抽稀减少数据点来降低数据点,以此减少计算、传输的负担,适用于长时间段的数据分析。而聚合计算则通过将多个数据点合并为一个值(如平均值、最大值或最小值)来提取趋势。两者结合可以有效提高查询性能,减少数据处理时间,同时保留重要的趋势信息,适用于工业IoT、监控和数据可视化等场景。
在时序数据库中,降采样与聚合运算是较为常用的组合。通过降采样/抽稀减少数据点来降低数据点,以此减少计算、传输的负担,适用于长时间段的数据分析。而聚合计算则通过将多个数据点合并为一个值(如平均值、最大值或最小值)来提取趋势。两者结合可以有效提高查询性能,减少数据处理时间,同时保留重要的趋势信息,适用于工业IoT、监控和数据可视化等场景。

## 按时间窗口查询
Datalayers 支持按时间窗口进行聚合查询。
Expand All @@ -20,28 +20,20 @@ CREATE TABLE sensor_info (
speed DOUBLE,
temperature DOUBLE,
timestamp KEY (ts))
PARTITION BY HASH(sn) PARTITIONS 8
ENGINE=TimeSeries
with (ttl='10d');CREATE TABLE sensor_info (
ts TIMESTAMP(9) NOT NULL DEFAULT CURRENT_TIMESTAMP,
sn STRING,
speed DOUBLE,
temperature DOUBLE,
timestamp KEY (ts))
PARTITION BY HASH(sn) PARTITIONS 8
PARTITION BY HASH(sn) PARTITIONS 2
ENGINE=TimeSeries
with (ttl='10d');
```

假设数据采集频率为 `1Hz`,在数据展示时我们希望查询 `sn = 1` 并且以 1分钟 的区间对数据进行聚合(获取一分钟以内 temperature 的平均值 ),则可使用时间函数对数据进行切割、云计算。SQL 语句如下:

```
```sql
SELECT date_bin('1 minutes', ts) as timepoint, avg(temperature) as temp from sensor_info where sn = 1 group by timepoint;
```

假设数据采集频率为 `1Hz`,在数据展示时我们希望查询 `sn = 1` 并且以 1天 的区间对数据进行聚合(获取一天以内 temperature 的最大值 ),则可使用时间函数对数据进行切割、云计算。SQL 语句如下:

```
```sql
SELECT date_bin('1 day', ts) as timepoint, max(temperature) as temp from sensor_info where sn = 1 group by timepoint;
```

Expand Down

0 comments on commit c1455d0

Please sign in to comment.