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.rhkb.cn/news/326039.html

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

相关文章

【随笔】Git 高级篇 -- 远程跟踪分支 git checkout -b | branch -u(三十五)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

Springboot整合 Spring Cloud OpenFeign

1.OpenFeign简介 1.相比于Netflix Feign,OpenFeign支持Spring MVC注解,整合了Ribbon(springcloud在Hoxton.M2 RELEASED版本之后舍弃Ribbon。需手动引入spring-cloud-loadbalancer)和Nacos。 2.使得开发人员调用远程接口或者服务之间相互调用就像调用本地…

【JavaEE初阶系列】——Cookie和Session应用之实现登录页面

目录 🚩本章目标 1.登录页面 2.servlet处理上述的登录请求 3.网站主页(成功登录之后的页面) 🚩实现过程 🎓登录页面 🎓Servlet处理登录请求 🎈获取请求传来的参数(用户名和密码) 🎈验证…

【前端工程化指南】Git常见操作之忽略文件

默认情况下,Git管理代码版本时会对所有文件进行跟踪,但有些时候我们并不希望项目中的一些文件上传到远程仓库或公共仓库中,例如密钥,个人隐私文件等。因此Git提供了两种忽略跟踪文件的方式.gitignore文本文件与git rm命令&#xf…

弹幕播放器源码

下 载 地 址 : runruncode.com/php/19761.html 1. 将弹幕播放器的源码上传到服务器。 2. 通过访问你的域名/dmku/install/index.php来进行弹幕库的安装。 3. 修改播放器后台的密码,配置文件为/config.php,并配置json接口。 4. 后台账号为…

leetcode91.解码方法(动态规划)

问题描述: 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : A -> "1" B -> "2" ... Z -> "26" 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可…

机房——蓝桥杯十三届2022国赛大学B组真题

问题分析 这题用深搜广搜都能做,不过我更倾向于用广搜,因为广搜能更容易找到目标点。那么是采用结构体存储边还是采用二维数组存储临接矩阵呢?我们注意到n的取值范围为1e5,用二维数组哪怕是bool类型就需要至少1e10Byte的连续空间,这个空间太大…

Kafka的安装及接入SpringBoot

环境:windows、jdk1.8、springboot2 Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/ 1.概述 Kafka 是一种高性能、分布式的消息队列系统,最初由 LinkedIn 公司开发,并于2011年成为 Apache 顶级项目…

Redis继续(黑马)

Redis持久化 RDB与AOF RDB记录是二进制数据,Redis停机时会触发保存,名称: dump.rdb 缺点:间歇式复制可能存在宕机数据更新丢失 AOF 记录的写操作命令,每秒记录一下,也存在数据更新丢失的可能,相…

java学习之zip炸弹攻击

一、概述 Zip炸弹是一种特殊类型的Zip文件,它包含了大量的无用数据。Zip文件格式允许使用压缩算法来减小文件的大小,但是如果Zip文件中的某些内容被重复压缩,就会导致文件大小急剧增加。Zip炸弹利用这个特性,将一些无用的数据多次…

差分约束 C++ 算法例题

差分约束 差分约束 是一种特殊的 n 元一次不等式组,m 个约束条件,可以组成形如下的格式: { x 1 − x 1 ′ ≤ y 1 x 2 − x 2 ′ ≤ y 2 ⋯ x m − x m ′ ≤ y m \begin{cases} x_1-x_1^{} \le y_1 \\ x_2-x_2^{} \le y_2 \\ \cdots \\ x_…

Pygame简单入门教程(绘制Rect、控制移动、碰撞检测、Github项目源代码)

Pygame简明教程 引言:本教程中的源码已上传个人Github: GItHub链接 视频教程推荐:YouTube教程–有点过于简单了 官方文档推荐:虽然写的一般,但还是推荐! Navigator~ Pygame简明教程安装pygame一、代码框架二、案件输入…

java项目之车辆管理系统(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的车辆管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 车辆管理系统的主要使用者分…

day-35 被围绕的区域

思路 很明显,只有与边界上的O连接的O才不会X覆盖 解题方法 检测边界上的字符,如果是O则向周围探测,访问与之连接的不会被覆盖的X。边界探测结束后,没有访问过的O皆会被X覆盖 Code class Solution {public int dir[][]{{0,1},{0…

用webui.sh安装报错No module named ‘importlib.metadata‘

安装sdweb报错,出现No module named importlib.metadata: glibc version is 2.35 Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage) Traceback (most recent call last):File…

【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout 文章编号&…

力扣32. 最长有效括号

Problem: 32. 最长有效括号 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.创建一个栈,并将-1先添加到栈中(添加-1到栈中只是为了方便接下来的操作),定义int变量len用于记录每一个子有效括号的长度,ma…

ctfshow SSRF 351-358

做题前,需要先学习关于ssrf漏洞的相关知识 小注意: 当使用 file_get_contents() 函数访问远程 URL 时,它会尝试获取该 URL 指向的资源的内容,并将内容以字符串的形式返回。 如果 b.php 文件是一个 PHP 文件,它包含的内容取决于该 PHP 文件…

vue3+ant design实现表格数据导出Excel

提示:实现表格数据导出Excel 文章目录 前言 一、安装ant design? 二、引用ant design 1.搭建框架 2.获取表格数据 三、封装导出表格的代码 四、导出 1.获取导出地址 2.在下载导出事件中添加导出代码 五、全部代码 前言 今天终于有时间来更新文章了,最近公司项目比较紧…

遨游 JavaScript 对象星际:探索面向对象编程的深邃世界

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 💯面向对象编程🔗1 什么是对象🔗2 什么是…