pipelinedb Continuous transforms 操作
Continuous transforms 可以进行数据的转换,数据是不进行存储,主要是可以加入到其他的stream pipeline 中,或者写到其他外部 
存储中,和存储过程结合使用,当前默认内置一个pipeline_stream_insert方便数据写入其他strem 
注意不支持聚合操作
docker-compose
version: '3.6'
services:
  postgres:
    image: pipelinedb/pipelinedb
    ports:
    - "5432:5432"
参考语法
CREATE CONTINUOUS TRANSFORM name AS query [ THEN EXECUTE PROCEDURE function_name ( arguments ) ]
query 查询说明
SELECT expression [ [ AS ] output_name ] [, ...]
    [ FROM from_item [, ...] ]
    [ WHERE condition ]
    [ GROUP BY expression [, ...] ]
where any expression in the SELECT statement can't contain an aggregate and
from_item can be one of:
    stream_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
    table_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
    from_item [ NATURAL ] join_type from_item [ ON join_condition ]
Continuous transforms 输出流
Continuous transforms 输出流,可以方便其他transforms或者Continuous view 读取
- 参考
 
创建 CONTINUOUS TRANSFORM
CREATE CONTINUOUS TRANSFORM t AS
  SELECT t.y FROM some_stream s JOIN some_table t ON s.x = t.x;
使用
CREATE CONTINUOUS VIEW v AS
  SELECT sum(y) FROM output_of('t');
参考例子
- 创建两个stream
 
CREATE STREAM mystream3 (x integer, y integer);
CREATE STREAM mystream4 (x integer, y integer);
- 创建CONTINUOUS VIEW
 
CREATE CONTINUOUS VIEW v4 AS
  SELECT x,y  FROM mystream3 ;
CREATE CONTINUOUS VIEW v5 AS
  SELECT x,y  FROM mystream4 ;
- 创建CONTINUOUS TRANSFORM
当insert 到mystream3 中的x为偶数的时候执行插入mystream4
 
CREATE CONTINUOUS TRANSFORM t3 AS
  SELECT x::int, y::int FROM mystream3 WHERE mod(x, 2) = 0
  THEN EXECUTE PROCEDURE pipeline_stream_insert('mystream4');
- 数据插入&& 查询结果 
x 插入数据为1奇数 
insert into mystream3(x,y) values(1,2);
select * from v4;
select * from v5;
 
 
x 插入数据为2奇数
insert into mystream3(x,y) values(2,5);
select * from v4;
select * from v5;
 

- 使用CONTINUOUS TRANSFORM 的output steam
 
CREATE CONTINUOUS VIEW v6 AS
  SELECT x,y  FROM output_of('t3') ;
插入数据&&查询
insert into mystream3(x,y) values(4,7);
select * from v6;

参考资料
http://docs.pipelinedb.com/continuous-transforms.html
pipelinedb Continuous transforms 操作的更多相关文章
- pipelinedb continuous view 操作
		
continuous view 是 pipelinedb的核心,类似一个view,但是数据是合并了stream以及table的数据输入数据,并且是 实时根据输入数据进行更新的 语法 CREATE CO ...
 - pipelineDB学习笔记-3. Continuous Transforms (连续转换)
		
以下内容为本人根据pipelineDB官网内容进行翻译,如有不妥之处请指正,谢谢大家 Continuous Transforms (连续转换) 一.定义: Continuous Transforms ...
 - hasura  graphql  集成pipelinedb测试
		
实际上因为pipelinedb 是原生支持pg的,所以应该不存在太大的问题,以下为测试 使用doker-compose 运行 配置 docker-compose 文件 version: '3.6' s ...
 - [PyTorch 学习笔记] 2.2 图片预处理 transforms 模块机制
		
PyTorch 的数据增强 我们在安装PyTorch时,还安装了torchvision,这是一个计算机视觉工具包.有 3 个主要的模块: torchvision.transforms: 里面包括常用的 ...
 - pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL
		
参考:https://pytorch.org/tutorials/beginner/data_loading_tutorial.html DATA LOADING AND PROCESSING TUT ...
 - Apache Beam编程指南
		
术语 Apache Beam:谷歌开源的统一批处理和流处理的编程模型和SDK. Beam: Apache Beam开源工程的简写 Beam SDK: Beam开发工具包 **Beam Java SDK ...
 - [Pytorch]PyTorch Dataloader自定义数据读取
		
整理一下看到的自定义数据读取的方法,较好的有一下三篇文章, 其实自定义的方法就是把现有数据集的train和test分别用 含有图像路径与label的list返回就好了,所以需要根据数据集随机应变. 所 ...
 - Apache Beam实战指南 | 大数据管道(pipeline)设计及实践
		
Apache Beam实战指南 | 大数据管道(pipeline)设计及实践 mp.weixin.qq.com 策划 & 审校 | Natalie作者 | 张海涛编辑 | LindaAI 前 ...
 - pytorch(10)transform模块(进阶)
		
图像变换 Pad 对图片边缘进行填充 transforms.Pad(padding,fill=0,padding_mode='constant') padding:设置填充大小,(a,b,c,d)左上 ...
 
随机推荐
- 20170728xlVba SSC_TODAY
			
Public Sub SSC_TODAY() Dim strText As String Dim Reg As Object, Mh As Object, OneMh As Object Dim i ...
 - gleez开发环境搭建
			
一.虚拟主机目录配置 1.配置apache服务器 Apache是常用的web服务器,即常见的用来处理http协议,处理网页的. Apache的配置文件都存放在/etc/apache2/目录,这里有很多 ...
 - WinForm窗体自适应分辨率
			
我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可.因 ...
 - bind出现Address already in use解决方法
			
在socket函数和bind函数之间加入一段代码: // 建立服务器端socket if((server_sockfd = socket(AF_INET, SOCK_STREAM, 0))<0) ...
 - html5-磊哥
			
<!doctype html><html lang="en"> <head> <meta charset=" ...
 - Docker安装及基础知识
			
一.安装 & 启动 1.安装Docker [root@tokyo ~]# yum install docker 2.启动Docker服务 (1)旧式的 sysv 语法 [root@tokyo ...
 - php中点击网页不跳转执行程序
			
if($code['result_code'] !='FAIL') { echo "<script type='text/javascript'> alert('退款成功,请耐心 ...
 - 感知器、logistic与svm 区别与联系
			
https://blog.csdn.net/m0_37786651/article/details/61614865 从感知器谈起 对于典型的二分类问题,线性分类器的目的就是找一个超平面把正负两类分开 ...
 - learning uboot fstype command
			
=> fstypefstype - Look up a filesystem type Usage:fstype <interface> <dev>:<part&g ...
 - LTrim、RTrim 和 Trim 函数
			
返回不带前导空格 (LTrim).后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本. LTrim(string) RTrim(string) Trim(string) strin ...