pipelineDB学习笔记-3. Continuous Transforms (连续转换)
以下内容为本人根据pipelineDB官网内容进行翻译,如有不妥之处请指正,谢谢大家
Continuous Transforms (连续转换)
一、定义:
Continuous Transforms (我意译为“连续转换”),是用来将没有进行存储的时序化数据连续不断的进行转换。由于没有数据被存储,所以“连续转换”不支持聚合功能。由“连续转换”得到的结果可以通过管道(pipe)连接到其他的流或者写入到外部数据来进行存储。简单的说就是将时序化数据转换为一个新的stream或者持久化数据进行存储。
二、创建:
创建语句与创建连续视图的语句相似,将”action”的参数换为”transform”即可。
语句:CREATE VIEW 名称 (WITH action=transform [ , outputfunc=输出函数(参数列表) ]) AS query;
query: pipelineDB是基于postgreSQL改进的,这里的query是指 postgreSQL中的 “select ” 语句.
(以上是官网关于 query 的截图,表示query可以支持的选项)
三、 删除:
DROP VIEW 要删除的连续转换的名称;
四、查看所有定义的“连续转换”:
SELECT * FROM pipelinedb.transforms;
五、“连续转换”的输出流:
所有的“连续转换”都有一个与它自身相关联的输出流,通过使用这个输出流可以“读取” “连续转换”所指定的数据.
六、内置输出函数:
为了比内置输出函数提供更多的灵活性,pipelinedb提供了一个使用“触发器函数”来接收“连续转换”中所有数据列的接口。 通过将“触发器函数”附加到“连续转换”上,你可以对接收到的数据做任何你想做的事,包括“写入”到其他的stream中.
pipelineDB提供了一个内置触发器 “pipelinedb.insert_into_stream”,可以与“连续转换”一同使用。这个触发器会将数据插入到所有在参数列表中指定的stream中。下面的例子就是将stream中所有的偶数插入到“even_stream”中 注意:被插入数据的stream,必须是已经存在的,否则会抛出错误。
七、创建自己的输出函数:
- 你也可以创建自己的输出函数,以便与”连续转换”一同使用.下面的例子就是将“连续转换”的指定的数据插入到一张表中.