文章目录

  • 1.概述

1.概述

转载:Clickhouse Live View

Live view 是一种特殊的视图,不属于表引擎,作用类似于事件监听器,能够将一条SQL查询结果作为监控目标,当目标增加 Live view 可以及时作出响应。

在数据分析领域,分析师经常使用移动平均值(MA)。移动平均线有助于平滑数据序列并确定长期趋势。新的Live View功能
开始为ClickHouse带来实时计算功能(Real-time)。

Live View表的适用之一是对实时指标进行实时计算。事件数据流的示例包括来自IoT传感器数据, 证券交易所的价格波动或来自生产服务器的某些监控指标。

ClickHouse 可以以良好的压缩率存储所有这些数据以及提供出色的分析查询性能

版本演进:

19.14 版本提供 Live view 视图
20.1.2.4 版本提供实时移动平均功能

相关参数:

Clickhouse> select name ,value,changed,min,max,readonly,type from system.settings where name like '%live_view%';SELECT name, value, changed, min, max, readonly, type
FROM system.settings
WHERE name LIKE '%live_view%'┌─name───────────────────────────────────────┬─value─┬─changed─┬─min──┬─max──┬─readonly─┬─type───────────┐
│ allow_experimental_live_view               │ 0     │       0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │ SettingBool    │
│ live_view_heartbeat_interval               │ 15    │       0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │ SettingSeconds │
│ max_live_view_insert_blocks_before_refresh │ 64    │       0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │ SettingUInt64  │
│ temporary_live_view_timeout                │ 5     │       0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │ SettingSeconds │
└────────────────────────────────────────────┴───────┴─────────┴──────┴──────┴──────────┴────────────────┘4 rows in set. Elapsed: 0.018 sec.

Live view 目前还是实验功能(experimental feature)需要开启参数allow_experimental_live_view
手动设置:

Clickhouse> set allow_experimental_live_view=1;SET allow_experimental_live_view = 1Ok.0 rows in set. Elapsed: 0.001 sec. Clickhouse> select name ,value,changed,min,max,readonly,type from system.settings where name like '%live_view%';┌─name───────────────────────────────────────┬─value─┬─changed─┬─min──┬─max──┬─readonly─┬─type───────────┐
│ allow_experimental_live_view               │ 1     │       1 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │ SettingBool    │.........
└────────────────────────────────────────────┴───────┴─────────┴──────┴──────┴──────────┴────────────────┘4 rows in set. Elapsed: 0.006 sec.

简单示例:

Clickhouse> create table t_lv(id UInt64)engine=Log;CREATE TABLE t_lv
(`id` UInt64
)
ENGINE = LogOk.0 rows in set. Elapsed: 0.011 sec. Clickhouse> create live view lv_count as select count(1) from t_lv;CREATE LIVE VIEW lv_count AS
SELECT count(1)
FROM t_lvOk.0 rows in set. Elapsed: 0.015 sec. Clickhouse> watch lv_count;WATCH lv_count┌─count(1)─┬─_version─┐
│        0 │        1 │
└──────────┴──────────┘

live view 进入监听模式。在另外的可以客户端执行插入数据的操作:

Clickhouse> insert into t_lv select rand() from numbers(10);┌─count(1)─┬─_version─┐
│       10 │        2 │
└──────────┴──────────┘

移动平均计算示例:

Clickhouse> create table t_events(id UInt64,create_time datetime default now())ENGINE = Memory;Clickhouse> select sum(id)/10 from(select * from t_events order by create_time desc limit 10);

插入测试数据:

Clickhouse> INSERT INTO t_events VALUES (1,now()-9), (2,now()-8), (3,now()-7), (4,now()-6), (5,now()-5), (6,now()-4), (7,now()-3), (8,now()-2), (9,now()-1), (10,now());

计算平均值:

Clickhouse> select sum(id)/10 from(select * from t_events order by create_time desc limit 10);SELECT sum(id) / 10
FROM
(SELECT *FROM t_eventsORDER BY create_time DESCLIMIT 10
)┌─divide(sum(id), 10)─┐
│                 5.5 │
└─────────────────────┘1 rows in set. Elapsed: 0.013 sec.Clickhouse> CREATE LIVE VIEW latest_10 as select sum(id)/10 from(select * from t_events order by create_time desc limit 10);Clickhouse> select * from latest_10;SELECT *
FROM latest_10┌─divide(sum(id), 10)─┐
│                 5.5 │
└─────────────────────┘1 rows in set. Elapsed: 0.007 sec.

— 插入新的记录查看最近10个数据的平均值:

Clickhouse> select * from t_events;SELECT *
FROM t_events┌─id─┬─────────create_time─┐
│  1 │ 2020-06-15 15:17:21 │
│  2 │ 2020-06-15 15:17:22 │
│  3 │ 2020-06-15 15:17:23 │
│  4 │ 2020-06-15 15:17:24 │
│  5 │ 2020-06-15 15:17:25 │
│  6 │ 2020-06-15 15:17:26 │
│  7 │ 2020-06-15 15:17:27 │
│  8 │ 2020-06-15 15:17:28 │
│  9 │ 2020-06-15 15:17:29 │
│ 10 │ 2020-06-15 15:17:30 │
└────┴─────────────────────┘
┌─id─┬─────────create_time─┐
│ 11 │ 2020-06-15 15:21:17 │
└────┴─────────────────────┘11 rows in set. Elapsed: 0.004 sec. Clickhouse> select * from latest_10;SELECT *
FROM latest_10┌─divide(sum(id), 10)─┐
│                 6.5 │
└─────────────────────┘1 rows in set. Elapsed: 0.008 sec. sum([2, 3, 4, 5, 6, 7, 8, 9, 10, 1])/10 = 5.5
sum([2, 3, 4, 5, 6, 7, 8, 9, 10, 11])/10 = 6.5

【Clickhouse】Clickhouse Live View相关推荐

  1. 【clickhouse】clickhouse 副本与分片 分片详解

    1.概述 转载:[clickhouse]clickhouse 副本与分片 分片详解 clickhouse 中每个服务器节点都可以被称为一个 shard(分片). 假设有 N 台服务器,每个服务器上都有 ...

  2. 【clickhouse】clickhouse表引擎之 kafka 表引擎 卡死

    文章目录 1.概述 2.官网 2.1 创建表 2.1.1 卡死 2.2 例子: 2.3 描述 2.4 配置 2.5 Kerberos 支持 1.概述 官网:kafka 表引擎 建议看官网. 参考文章: ...

  3. 【clickhouse】clickhouse clickhouse-client 使用

    文章目录 1.概述 2.配置文件 1.概述 ClickHouse 自己的 clickhouse-client 使用的是"原生"的 TCP 连接来完成与服务端的交互,而在应用中用它的 ...

  4. 【朝花夕拾】Android自定义View篇之(六)Android事件分发机制(中)从源码分析事件分发机制...

    前言 转载请注明,转自[https://www.cnblogs.com/andy-songwei/p/11039252.html]谢谢! 在上一篇文章[[朝花夕拾]Android自定义View篇之(五 ...

  5. 【朝花夕拾】Android自定义View篇之(六)Android事件分发机制(中)从源码分析事件分发逻辑及经常遇到的一些“诡异”现象

    前言 转载请注明,转自[https://www.cnblogs.com/andy-songwei/p/11039252.html]谢谢! 在上一篇文章[[朝花夕拾]Android自定义View篇之(五 ...

  6. 【Clickhouse】Clickhouse 整合 Prometheus 监控 运行时状态

    1.概述 转载:ClickHouse运行时状态监控 类似:[clickhouse]docker 下 搭建 clickhouse 监控 Clickhouse 在运行时会将一些运行装白保存到系统表中,在对 ...

  7. 【Clickhouse】Clickhouse 普通视图

    文章目录 1.概述 1.概述 转载:https://vkingnew.blog.csdn.net/article/details/107350687 clickhouse拥有普通视图和物化视图,其中物 ...

  8. 【Clickhouse】Clickhouse 分析函数 window functions 窗口函数

    文章目录 1.概述 1.1.窗口函数: 1.2.标准SQL语法 1.3.分析函数分类: 2.Top N: 3.案例 1.概述 转载:Clickhouse 分析函数 window functions 窗 ...

  9. 【clickhouse】clickhouse 副本与分片 副本详解

    1.概述 转载:ClickHouse 11.副本与分片 1. 副本 集群是副本和分片的基础,它将 clickhouse 的服务拓扑由单节点延伸到多个节点. clickhouse 集群配置很灵活,既可以 ...

  10. 【clickhouse】clickhouse的系统表

    1.概述 转载:clickhouse的系统表 在日常使用clickhouse中经常会遇到很多问题,有时候需要去查系统表,但是对于我们来说,大部分的系统表的字段名称都不知道,看到了也不知道啥意思,下面我 ...

最新文章

  1. 多视觉任务的全能: HRNet
  2. 笔画宽度变化(C++和matlab算法)
  3. 金额转换,阿拉伯数字的金额转换成 面试编程题
  4. compileReleaseJavaWithJavac
  5. 1104冒泡排序语法树
  6. android智能刷新smart,Android横向智能刷新框架-SmartRefreshHorizontal
  7. LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)
  8. ROS笔记(25) 自主探索SLAM
  9. mysql的find in set_mysql中find_in_set()函数的使用及in()用法详解
  10. JavaScript:异步执行机制
  11. 矢量控制——SVPWM
  12. vue实现完整的购物车功能(包括单选全选,删除商品和结算商品功能)
  13. 【第四章-2】Python爬虫教程(协程,多任务异步协程,aiohttp模块,异步爬虫实战:爬取《西游记》全部章节内容)
  14. 银行数字化转型导师坚鹏:苏州银行数字化运营之认知篇培训结束
  15. 解决Win10无法安装.Net Framework 3.5,错误代码0x800F081F
  16. mysql路由和MAH
  17. 记录-链表头插尾插区别
  18. canvas画任意角度的扇形,弧形,及扇形弧形填纯色渐变色
  19. NOIP2012 普及组 T4 文化之旅
  20. 一些结合身体部位相关词语的俚语表达

热门文章

  1. 腾讯音乐娱乐集团宣布管理层调整,着眼长远战略发展与行业生态布局
  2. 我年薪百万,孩子教育花掉一半
  3. 三星Galaxy S21开启预购:最早1月14日发布 售价约5300元起
  4. 华为官方开启Mate 40系列预热:即将推出敬请期待
  5. 坐地起价、山寨横行、人身骚扰:割韭菜的刀,还是“搬家公司”快
  6. 国家存储器基地项目二期于武汉开工 月规划产能20万片
  7. 华为高管“泄密”,华为P40 Pro外观定了!
  8. 小米MIX Alpha环绕屏手机还是跳票了,上市时间成迷,小米回应...
  9. 支付宝上线新功能:去这个国家入境十分钟搞定!
  10. 摩拜单车又涨价了!真的要骑不起了