使用 RisingWave 和 Redash 处理和可视化实时数据

在创建流处理管道时,需要两个关键组件:一个用于处理和转换数据,一个用于数据可视化。RisingWave 和 Redash 就提供了一个优秀的解决方案。

RisingWave 是一个支持实时数据处理的分布式 SQL 流数据库。它提供增量更新的物化视图,使用户能够使用 SQL 进行流数据的实时连接、转换、清洗和分析。RisingWave 兼容 PostgreSQL,并且能够无缝集成各种上游和下游连接器。这使得 RisingWave 能很轻松地融入任何现有的流处理技术栈。

Redash 是一个用户友好的开源数据可视化和商业智能(BI)工具。它提供了强大的用户界面,能够出色地探索、分析、共享和展示数据。使用 Redash 可以配置各种可视化图表和综合看板,图表能定期或按需自动刷新,确保访问最新数据。且 Redash 支持多种数据源,成为跨平台数据可视化的优先选择。

在本文中,我们将演示如何配置 Redash 以读取 RisingWave 数据库中的数据,从而设置一个完整的流处理管道。

1. 设置 RisingWave

首先,我们将部署一个 RisingWave 实例并创建数据源。

1.1 启动 RisingWave 实例

在本文中,我们将在本地部署 RisingWave。要了解如何在本地启动 RisingWave 实例,请参见快速入门指南。如果您想使用完全托管的版本,请参见 RisingWave Cloud 及其相应的快速入门指南。

1.2 创建表

让我们在 RisingWave 中创建一个表,其中包含一些数据,以便稍后在 Redash 中进行查询。因为 RisingWave 提供丰富的连接器,我们可以从各种流式服务和数据库中摄取数据。本文中,我们选择使用 Kafka。首先,我们用一个数据生成器将模拟数据发送到 Kafka,模拟数据的格式如下:

{"year": year,"month": month,"day": day,"temperature": temperature in Celsius,"humidity": humidity %,"rainfall": rainfall in millimeters,
}

接着,我们使用 CREATE SOURCE 命令与 Kafka broker 建立连接。以下查询创建了一个 Source weather ,并定义了数据的架构。在 RisingWave 中,Source 不会从上游系统摄取数据。要开始摄取数据,我们需要创建一个物化视图。或者,如果需要在 RisingWave 中持久化数据,可以使用 CREATE TABLE

CREATE SOURCE weather (year INTEGER,month INTEGER,day INTEGER,temperature DOUBLE,humidity DOUBLE,rainfall DOUBLE
) WITH (connector = 'kafka',topic = 'weather_observations',properties.bootstrap.server = 'localhost:9092'
) FORMAT PLAIN ENCODE JSON;

Source 创建后,我们将创建一个物化视图,计算每年每月的平均温度、湿度和降雨量。

CREATE MATERIALIZED VIEW monthly_avg AS
SELECT year,month,avg(temperature) AS avg_temp,avg(humidity) AS avg_humidity,avg(rainfall) AS avg_rainfall_mm
FROM weather
GROUP BY year, month;

这样,我们就有了可以查询数据的物化视图。

2. 在 Redash 中连接 RisingWave

RisingWave 设置完毕后,让我们启动一个 Redash 实例,然后连接 RisingWave 数据库。

2.1 设置 Redash

要了解如何启动 Redash 实例,请参见设置 Redash 实例,以获取不同的部署方法。本文中,我们使用 Docker-compose 文件来部署 Redash 和所有必要的组件。

在启动 Redash 实例后,请登录或创建 Redash 帐户。

2.2 连接 RisingWave

首先,我们需要连接新的数据源。因为 RisingWave 兼容 PostgreSQL,我们可以设置新的 PostgreSQL 数据源。请从可用选项列表中找到并选择 PostgreSQL。

在 Redash 中创建新数据源

下一步,根据您的 RisingWave 数据库信息填写配置。本文中,我们使用 RisingWave 的默认端口、数据库和账户。对于主机,因为我们使用 Docker 本地部署 Redash,所以主机为 host.docker.internal。您的主机地址将根据您的设置而有所不同。设置后,请点击 Create 并测试连接,以确保 Redash 能够从 RisingWave 读取数据。

填写配置信息

数据源设置完后,我们可以开始编写查询和创建可视化图表。在 New Query 窗口下,将显示所有可用的 RisingWave 表和物化视图。可以看到,上文创建的 monthly_avg 物化视图就在其中。接下来,我们可以查询这个物化视图,也可以先进行必要的数据转换,再创建可视化图表和综合看板。

可视化图表:基于编写的 SQL 查询显示每月平均温度

能查看每月温度、湿度和降雨的综合看板

3. 总结

本文中,通过简单几步,我们将 RisingWave 与 Redash 集成。Redash 提供了广泛功能创建高级可视化图表和综合看板,而 RisingWave 则提供了强大的数据处理、转换和分析能力。此外,RisingWave 还具备更多丰富的集成可选,您可以轻松将其连接到消息系统,从而构建一个完整的流处理管道。

挑选部署流处理管道中的系统并不容易,但 RisingWave 的灵活性和用户友好性可以使整个过程变得更加可控。通过利用 RisingWave 和 Redash 的优势,您可以构建复杂的数据管道,并从流数据中解锁强大的洞察力。

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

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

相关文章

TRICONEX 3720 技术特点

TRICONEX 3720是一款安全管理系统通讯模块,通常用于工业自动化和安全系统中。它的主要作用是在控制系统中处理和管理数据通讯,确保信息在各个组件之间的有效传递。以下是关于TRICONEX 3720的详细介绍: 功能定位:TRICONEX 3720作为…

计算机操作系统总结(1)

1操作系统的概念(定义)功能和目标 (1)什么是操作系统? (2)操作系统的功能和目标—作为系统资源的管理者 (3)操作系统的功能和目标—向上层提供方便易用的服务 (4)操作系…

IP学习——ospf1

OSPF:开放式最短路径优先协议 无类别IGP协议:链路状态型。基于 LSA收敛,故更新量较大,为在中大型网络正常工作,需要进行结构化的部署---区域划分、ip地址规划 支持等开销负载均衡 组播更新 ---224.0.0.5 224.0.0.6 …

区块链开发:区块链软件开发包装相关解析

区块链开发是指设计、构建和维护基于区块链技术的应用程序或系统的过程。区块链是一种分布式账本技术,它通过去中心化的方式记录和验证数据,确保数据的透明性、不可篡改性和安全性。区块链开发者使用各种编程语言和框架来创建这些应用程序。 在加密货币领…

【Linux】-Linux文件的上传和下载、压缩和解压[9]

目录 前言 一、上传和下载 1、使用finalshell对Linux系统进行上传下载 2、rz、sz命令 二、解压和压缩 1、压缩格式 2、tar命令压缩 3、tar命令压缩 4、zip命令压缩文件 5、unzip命令解压文件 前言 在Linux系统中,文件的上传和下载、压缩和解压是非常重要…

暴风雨的短视频:成都鼎茂宏升文化传媒公司

暴风雨的短视频:大自然的力与美 ​随着科技的进步和网络的普及,短视频已经成为我们生活中不可或缺的一部分。在这些短暂而精彩的瞬间里,我们得以窥见世界的每一个角落,感受生活的多样性和复杂性。成都鼎茂宏升文化传媒公司而当我…

go语言之基本数据类型

文章目录 基础数据类型分类整数类型有符号整数无符号整数默认整数类型 浮点类型复数类型布尔类型字符类型字符串replace字符串获取字符串长度字符串的拼接字符串获取指定位置字符更多string操作 数据类型之间的转换其它基本类型转字符串类型fmt包中的Sprintfstrconv包中函数 字…

java 解决异常 Class path contains multiple SLF4J bindings

前面 为了使用 j2cache pom中导入了 <dependency><groupId>net.oschina.j2cache</groupId><artifactId>j2cache-core</artifactId><version>2.8.4-release</version> </dependency><dependency><groupId>net.osc…

Java开发之JDBC

JDBC 介绍JDBC程序&#xff08;Statement&#xff09;相关细节URLResultSet 连接池程序&#xff08;PreparedStatement&#xff09; 本文主要记录一下学习JDBC的一些知识点 介绍JDBC 首先谈谈什么是JDBC。下面放几张图&#xff0c;大致就可以清楚JDBC了。程序&#xff08;Sta…

网络编程—— Http的Get请求

http: hyper text transport protocal:超文本传输协议。 http是一种基于客户端-服务器模式的协议(Client-Server)。它规定只能由客户端先发起请求给服务器&#xff0c; 服务器做出响应。 http数据传输以数据报文的形式进行&#xff0c; 客户端向服务器发起的请求叫做请求报文。…

【Linux玩物志】Linux环境开发基本工具使用(终章) ——git与gdb调试器

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 前言&#xff1a;这是最后一篇Linux工具篇&#xff0c;今天这篇文章我们要来简单讲一件git与调试器gdb。 目录 使用 git 命令行 安装 git 在 Github 创建项目 注册账号 创建项目 ​编辑 下载项目到本地 在 Gite…

融合基因组序列识别scATAC-seq的细胞类型

利用scATAC-seq技术进行单细胞分析&#xff0c;可以在单细胞分辨率下深入了解基因调控和表观遗传异质性&#xff0c;但由于数据的高维性和极端稀疏性&#xff0c;scATAC-seq的细胞注释仍然具有挑战性。现有的细胞注释方法大多集中在细胞峰矩阵上&#xff0c;没有充分利用潜在的…

商品指数创年内新高,粘性通胀成为美联储噩梦

文章概述 虽然美国4月CPI增幅放缓让美联储今年降息的可能性大增&#xff0c;但与此同时&#xff0c;大宗商品价格却达到了一年来的最高水平&#xff0c;粘性通胀可能成为美联储的噩梦。数据显示&#xff0c;跟踪24种能源、金属和农业合约彭博大宗商品现货指数今年以来已经上涨…

使用Flask ORM进行数据库操作的技术指南

文章目录 安装Flask SQLAlchemy配置数据库连接创建模型类数据库操作插入数据查询数据更新数据删除数据 总结 Flask是一个轻量级的Python Web框架&#xff0c;其灵活性和易用性使其成为开发人员喜爱的选择。而ORM&#xff08;对象关系映射&#xff09;则是一种将数据库中的表与面…

LeetCode题练习与总结:二叉树的最大深度--104

一、题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 2&#xff1a; 输入&#xff1a;root […

ESP32开发环境搭建Windows VSCode集成Espressif IDF插件开发环境搭建 IDF_V5.2.1

一、安装Visual Studio Code 下载地址&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 打开上方链接&#xff0c;选择页面中的Windows版本&#xff0c;单击下载 将下载好的VSCodeUserSetup-x64-1.89.1.exe。单击右键&#xff0c;选择以管理员身份运行&#xf…

jenkins自动化部署详解

一、准备相关软件 整个自动化部署的过程就是从git仓库拉取最新代码&#xff0c;然后使用maven进行构建代码&#xff0c;构建包构建好了之后&#xff0c;通过ssh发送到发布服务的linux服务器的目录&#xff0c;最后在此服务器上执行相关的linux命令进行发布。 此篇文章jenkins…

【iOS安全】BurpSuite iOS https抓包 | DNS Spoofing

BurpSuite 完整版安装 参考&#xff1a;Admin Team 小数智 的博客 下载 Burp Suite 2021.6 官网下载地址 https://portswigger.net/burp/releases &#xff08;下载并安装好&#xff09; jdk 使用的是11.0.10 https://www.oracle.com/java/technologies/javase-jdk11-downl…

实用css整理

网页一键变灰 body{filter: grayscale(1); } 一般用于特殊时期&#xff0c;网页变灰&#xff0c;只需要给body标签添加这行样式代码。 一键换主题色 body {filter: hue-rotate(45deg);} 给body标签设置这个属性样式&#xff0c;改变角度看看效果吧。 设置字母大小写 p {t…

麦克纳母轮(全向)移动机器人集群控制的Simulink/Simscape虚拟仿真平台搭建

麦克纳姆轮是一种常见的全向移动机构&#xff0c;可以使机器人在平面内任意方向平移&#xff0c;同时可以利用差速轮车的属性实现自转&#xff0c;能够在狭窄且复杂多变的环境中自由运行&#xff0c;因而被广泛应用于竞赛机器人和特殊工业机器人场景。 Ps:最新的BYD仰望U8也有一…