pipelinedb学习笔记 - 1. Continuous Views (连续视图)

2022-03-01 00:00:00 视图 创建 数据 删除 连续

          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(连续视图的名字);  

相关文章