Continuous Views
一、Continuous Views 英文直译过来叫连续视图, 在pipelindb中是被定义为专门用来展示 Stream中数据用的。例如:Stream中有一些用户信息,但是Stream的特点是用完既丢,那么下次查看这些Stream中的数据时该如何做了? pipelineDB就定义了这个Continuous View来实现这个功能。
二、 创建 Continuous Views
1.官方原文:
上面大意就是: 使用 “ CREATE VIEW 视图名称 AS query语句 ” 来创建连续视图,不过因为创建普通视图和连续使用的关键字“VIEW”都是一样的,可以显示的指定参数 action =materialize 来明确创建的是连续视图 , 或者当AS 后面接的query语句是 通过 from 关键字选中的是Stream时,action可以省略不写,pipelineDB会隐式的指定创建的视图是连续视图而不是普通视图 。
但是,根据官网提供的语法创建出来的视图是普通视图,而非连续视图.
正确的创建连续视图语句为 : create continuous view 视图名称 as query语句;
二、删除连续视图
语法: DROP VIEW 视图名称。
三、 清空连续视图中的数据,但不删除表.
在官方文档中这种只删除数据的操作叫做“ Truncating Continuous Views”
语法是: SELECT truncat_cintinuous_view('连续视图的名字');
四、 查看系统中所有的连续视图
语法: select * from pipeline_views();
五、 增量更新
当Stream中的数据发生发变动时,Continuous view 可以把根据变动部分反映到连续视图中的数据上;说的有点抽象,就是连续视图可以针对Stream中变动的数据进行计算或统计,也就是增量更新。
官方例子:
上面的例子是关联一个连续视图与普通表,然后根据name进行分组,求name的value的总和.
六、 TTL 存活时间
有一些数据只需要保存一段时间,超过这个时间就可以从续视图删除 .
例如:连续视图中保存的数据超过2分钟就删除
两分钟之后查询,该条数据已经被自动删除。
七、 暂停与启动连续视图。
有时可能需要停止连续视图对stream中数据的处理,因此,pipelinedb提供了 启动与暂停种操作。创建连续视图成功后,默认为启动状态。
启动视图: select activate(连续视图的名字);
暂停视图: select deactivate(连续视图的名字);