clickhouse 计算平均值

Posted

技术标签:

【中文标题】clickhouse 计算平均值【英文标题】:clickhouse calculate the average 【发布时间】:2019-03-06 06:04:13 【问题描述】:

我有两个字段,一个是时间戳,另一个是网络字节的总和。就像这样:

timestamp      network_in_bytes
1551196802144   1
1551196802145   5 
1551196802147   18 
1551196802158   80

我要计算(B>A)

avg_network_in_bytes=(network_in_bytes_B-network_in_bytes_A)/(timestamp_B-timestamp_A). 

如何获得 avg_network_in_bytes?

【问题讨论】:

【参考方案1】:

看看这个功能runningDifference

你可以尝试做这样的事情:

select 
  timestamp,
  network_in_bytes,
  runningDifference(timestamp) as timestamp_diff,
  runningDifference(network_in_bytes) as bytes_diff,
  bytes_diff / timestamp_diff
from (
  select
    timestamp,
    network_in_bytes
  from table
  order by timestamp 
)

【讨论】:

以上是关于clickhouse 计算平均值的主要内容,如果未能解决你的问题,请参考以下文章

Clickhouse:如何获得 2 个连续行的平均值?

clickhouse计算引擎

clickhouse

ClickHouse

流计算 Oceanus | 巧用 Flink 构建高性能 ClickHouse 实时数仓

基于 ClickHouse OLAP 的生态:构建基于 ClickHouse 计算存储为核心的“批流一体”数仓体系...