RisingWave基本操作

什么是RisingWave

RisingWave 是一款基于 Apache 2.0 协议开源的分布式流数据库。RisingWave 让用户使用操作传统数据库的方式来处理流数据。通过创建实时物化视图,RisingWave 可以让用户轻松编写流计算逻辑,并通过访问物化视图来对流计算结果进行及时、一致的查询。

安装与启动

Docker 环境

docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:latest playground

通过DataGrip连接

创建表格与物化视图

create table t(v1 int, v2 int);
insert into t values(1,10),(2,20),(3,30);
create materialized view mv as select sum(v1) from t;

查询试图

select * from mv;

导入数据

通过datagen生成数据

CREATE TABLE t1 (v1 int, v2 int)

WITH (

     connector = 'datagen',

     fields.v1.kind = 'sequence',

     fields.v1.start = '1',

     fields.v2.kind = 'random',

     fields.v2.min = '-10',

     fields.v2.max = '10',

     fields.v2.seed = '1',

     datagen.rows.per.second = '10'

 ) ROW FORMAT JSON;

CREATE SOURCE s1 (w1 int, w2 int)

WITH (

     connector = 'datagen',

     fields.w1.kind = 'sequence',

     fields.w1.start = '1',

     fields.w2.kind = 'random',

     fields.w2.min = '-10',

     fields.w2.max = '10',

     fields.w2.seed = '1',

     datagen.rows.per.second = '10'

 ) ROW FORMAT JSON;

查询创建的表

show tables;

查询source

show sources;

查询结果

Source不支持直接查询

进行流计算

create materialized view mv_t1 as select count(*) from t1;

create materialized view mv_s1 as select count(*) from s1;

从kafka topic中创建source数据

-- 创建kafka source
CREATE SOURCE from_kafka2 (name2 string,id2 string,table2 string
)
INCLUDE offsetinclude timestampinclude  partition
WITH (connector = 'kafka',topic = 'kafka-send2',properties.bootstrap.server = '192.168.5.xxx:9092'
)
FORMAT PLAIN  ENCODE json;

kafka中数据格式

查询结果

-- 不指定结构创建source

CREATE SOURCE from_kafka5 (content2 bytea
)
INCLUDE offsetinclude timestampinclude  partition
WITH (connector = 'kafka',topic = 'kafka-send2',properties.bootstrap.server = '192.168.5.xxx:9092'
)
FORMAT PLAIN  ENCODE BYTES;

-- json处理函数

SELECT ('{"a": {"b":"foo"}}'::jsonb -> 'a') ::jsonb ->> 'b';select convert_from(content2,  'utf8') from from_kafka5;
select to_jsonb(encode(content2,  'base64')) from from_kafka5;select to_jsonb(convert_from(content2,  'utf8')) from from_kafka5;select to_jsonb(content2) from from_kafka5;select convert_from(content2,  'utf8') :: jsonb ->> 'id2',convert_from(content2,  'utf8') :: jsonb ->> 'table2',convert_from(content2,  'utf8') :: jsonb ->> 'name2' from from_kafka5;select jsonb_typeof(encode(content2,  'escape') :: jsonb -> 'id2')  from from_kafka5;select jsonb_extract_path(to_jsonb(convert_from(content2,  'utf8')), 'id2') from from_kafka5;

-- 统计查询

SELECT content2 FROM from_kafka5 where to_char(_rw_kafka_timestamp, 'YYYYMMDDHH24MI') = '202405090846' order by _rw_kafka_timestamp;SELECT to_char(date_trunc('minute', _rw_kafka_timestamp), 'YYYYMMDDHH24MISS') AS period, max(_rw_kafka_offset) as logEndOffset,min(_rw_kafka_offset),(max(_rw_kafka_offset)::INTEGER   - min(_rw_kafka_offset)::INTEGER + 1) as addOffset,'from_kafka5' as topic
FROM from_kafka5 where _rw_kafka_timestamp + INTERVAL '24 hour' > now()group by date_trunc('minute', _rw_kafka_timestamp)
order by period;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享一个处理大文件效率拉满的神器

🏃‍♂️ 微信公众号: 朕在debugger© 版权: 本文由【朕在debugger】原创、需要转载请联系博主📕 如果文章对您有所帮助,欢迎关注、点赞、转发和订阅专栏! 前言 系统当天有些表的数据需要恢复成前一天的样子,幸好有…

Rpcx (一):详解【介绍、基础示例 demo】

一.rpcx介绍 1.1 rpc是什么 远程过程调用的通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。简单地说就是能使应用像调用本地…

【动态规划】子序列问题I|最长递增子序列|摆动序列|最长递增子序列的个数|最长数对链

一、最长递增子序列 300. 最长递增子序列 算法原理: 💡细节: 1.注意子序列和子数组的区别: (1)子序列:要求顺序是固定的(要求没那么高,所以子序列就多一些) (2)子数组:要…

2024年深圳市教师招聘报名流程(建议电脑)

2024年深圳市教师招聘报名流程(建议电脑) #深圳教师招聘 #深圳教招 #深圳教师招聘考试 #教师招聘报名照片处理 #深圳教师招聘笔试

(Java)心得:LeetCode——19.删除链表的倒数第 N 个节点

一、原题 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…

1-02-02:虚拟化与容器化Docker环境搭建

1.02.02 虚拟化与容器化Docker环境搭建 一. 虚拟化与容器化技术简介1. 虚拟机环境2. docker环境 二. Docker 架构与隔离机制2.1 Docker 架构2.2 Docker 隔离机制2.3 资源限制2.4 Docker应用场景 三. 实战:Docker在Centos7安装与镜像加速 ❤❤❤3.1 docker安装3.2 设置镜像加速 …

17 SPI FLASH读写

SPI 协议简介 SPI 即 Serial Periphera linterface 的缩写,顾名思义就是串行外围设备接口,主要用于与FLASH、实时时钟、AD 转换器等外设模块的通信,它是一种高速的全双工同步的通信总线。 SPI 设备分为主设备和从设备,SPI 通信必…

crossover24中文破解版百度云免费下载 crossover永久免激活汉化包安装使用教程 crossover24激活码分享

原则上,我们不提倡各位使用破解版,这是处于对知识产权的保护,也是为了各位的长远利益。使用正版你可以获得更优质的服务和完善的产品功能。 但仍然有部分用户由于预算、使用习惯等原因,需要破解版。所以本文不讲原则,…

有没有适合女生或者宝妈下班后可以做的副业?

宝妈与上班族女生的新篇章:水牛社副业兼职之旅 在繁忙的职场和温馨的家庭之间,不少女性渴望找到一种既能兼顾家庭又能实现自我价值的兼职方式。对于上班族女生和宝妈们来说,水牛社这样的线上任务平台为她们提供了一个全新的选择。 上班族女…

【备战软考(嵌入式系统设计师)】12 - 嵌入式系统总线接口

我们嵌入式系统的总线接口可以分为两类,一类是并行接口,另一类是串行接口。 并行通信就是用多个数据线,每条数据线表示一个位来进行传输数据,串行接口就是一根数据线可以来一位一位地传递数据。 从上图也可以看出,并行…

SR3-05S电机保护器 施耐德 EOCR-SR3

EOCR-SR3电机保护器 施耐德 EOCR主要产品有电子式电动机保护继电器,电子式过电流继电器,电子式欠电流继电器,电子式欠电压继电器,其它保护和监视装置,电流互感器。 系列型号: EOCR-SR3-05S EOCR-SR3-30…

VR全景技术在养老院的应用优势浅析

随着时代的快速发展,人口老龄化越来越严重,如何利用VR技术提升养老服务的质量,成为了社会各界关注的焦点。为养老院拍摄制作VR全景,不仅能够为养老院的老人子女们跨越空间限制,实现与家人的情感连接,还可以…

Vditor集成于VUE笔记

文章目录 前言一、安装Vditor二、渲染markdown三、options3.1 自建CDN3.2 outline大纲不显示、不跳转问题3.3 upload 图片/视频上传3.4 toolbar提示位置点击事件more中文字 3.5 sv分屏渲染模式隐藏编辑框3.6 after中的insertValue或者setValue 前言 Vditor是一款易于使用的 Ma…

带你手撕红黑树! c++实现 带源码

目录 一、概念 二、特性 三、接口实现 1、插入 情况一:p为黑,结束 情况二:p为红 1)叔叔存在且为红色 2)u不存在/u存在且为黑色 (1)p在左,u在右 (2)…

MySQL中JOIN连接的实现算法

目录 嵌套循环算法(NLJ) 简单嵌套循环(SNLJ) 索引嵌套循环(INLJ) 块嵌套循环(BNLJ) 三种算法比较 哈希连接算法(Hash Join) 注意事项: 工…

异常处理/CC++ 中 assert 断言 应用实践和注意事项

文章目录 概述assert 本质浅析Release版本下的assert是否生效默认设置下 QtCreator环境 assert 过程默认配置下 VS环境 assert 过程配置VS发布模式下的断言生效VS环境Release版本的UI程序Release下请当我不生效 请勿滥用assert导致逻辑错误再强调不要在assert内执行逻辑功能怎敢…

【UnityRPG游戏制作】Unity_RPG项目_PureMVC框架应用

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…

Vue-watch监听器

监听器 watch侦听器(监视器)简单写法完整写法 watch侦听器(监视器) 作用:监视数据变化,执行一些业务逻辑或异步操作 语法: watch同样声明在跟data同级的配置项中简单写法: 简单类型…

C++ 中的 lambda 表达式

1.概念 lambda表达式实际上是一个匿名类的成员函数,该类由编译器为lambda创建,该函数被隐式地定义为内联。因此,调用lambda表达式相当于直接调用匿名类的operator()函数,这个函数可以被编译器内联优化(建议&#xff0…

地图涟漪效果

参考API echarts图表集 useEcharts.js import { onBeforeUnmount, onDeactivated } from "vue"; // import * as echarts from "echarts";/*** description 使用 Echarts (只是为了添加图表响应式)* param {Element} myChart Echarts实例 (必传)* param …