[未完待续] 流式机器学习(online machine learning) - pipelineDB with plR and plPython

less than 1 minute read

背景

pipelinedb 是一款基于PostgreSQL的SQL接口的流式数据库,数据处理吞吐量大,同时能使用PostgreSQL的内置强大功能。

对用户来说,可以省掉很多开发成本,使用pipelinedb以及plpython或plr语言,实现流式的机器学习,流式的数据处理。

pipelinedb作为流式数据处理平台,plpython和plr作为处理逻辑代码,写在pipelinedb数据库中。

例子:

1、定义数据流格式

create stream s1 (id int, content jsonb);  

2、定义数据处理逻辑代码

create or replace function ml_func1(jsonb) returns text as $$  
  -- python代码  
$$ language plpythonu strict;  
  
或  
  
create or replace function ml_func1(jsonb) returns text as $$  
  -- R代码  
$$ language plr strict;  

3、定义流式计算视图

createa continue view cv1 as select id, ml_func1(content) from s1;  

4、通过SQL查询cv1得到流式计算的结果

select * from cv1 where ....;  

DEMO

小结

参考

https://www.postgresql.org/docs/10/static/plpython.html

https://github.com/postgres-plr/plr

《流计算风云再起 - PostgreSQL携PipelineDB力挺IoT》

Flag Counter

digoal’s 大量PostgreSQL文章入口