【OceanBase】使用 Superset 连接 OceanBase 数据库并进行数据可视化分析
文章目录
- 前言
- 一、前提条件
- 二、操作步骤
- 2.1 准备云主机实例
- 2.2 安装docker-compose
- 2.3 使用docker-compose安装Superset
- 2.3.1 克隆 Superset 的 GitHub 存储库
- 2.3.2 通过 Docker Compose 启动 Superset
- 2.4 开通 OB Cloud 云数据库
- 2.5 获取连接串
- 2.6 使用 Superset 连接 OceanBase 数据库
- 2.7 导入数据并创建表
- 2.8 在 Superset 中创建数据集
- 2.9 配置可视化图表
- 三、参考链接
前言
在当今大数据与实时分析快速发展的时代,数据的高效存储、处理与可视化已成为推动业务决策的重要手段。OceanBase作为一款高性能分布式关系型数据库,凭借其卓越的事务处理能力与扩展性,广泛应用于金融、电信等领域。然而,如何将OceanBase的数据资产与强大的数据可视化工具结合,以直观、易懂的方式呈现数据价值,是一个备受关注的话题。
Apache Superset是一款开源数据可视化与数据探索工具,具有丰富的图表和仪表盘功能,支持多种数据库连接和实时交互分析。通过将Superset与OceanBase相结合,企业可以快速构建从数据存储到数据洞察的完整链路,实现更高效、更直观的数据分析与决策支持。
本文旨在详细介绍如何使用Superset连接OceanBase数据库,并通过可视化分析工具进行数据探索和展示。无论您是数据库开发者还是数据分析师,都可以通过本指南,快速掌握从OceanBase到Superset的数据可视化分析流程。
一、前提条件
-
准备一台云主机实例;
-
安装好Docker服务;
-
完成配置并运行 Superset;
-
准备好可用的数据集;
二、操作步骤
2.1 准备云主机实例
实例信息 | 实例参数 | 备注 |
---|---|---|
主机名 | superset | |
操作系统 | Ubuntu 24.04.1 LTS | |
系统内核 | Linux 6.8.0-1016-aws | |
实例大小 | m5.2xlarge | |
vCPU/内存 (GiB) | 8C/32G |
2.2 安装docker-compose
下载docker compose
## To download and install Compose standalone, run:
root@superset:~# curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 61.0M 100 61.0M 0 0 19.5M 0 0:00:03 0:00:03 --:--:-- 35.9M## Apply executable permissions to the standalone binary in the target path for the installation.
root@superset:~# chmod +x /usr/local/bin/docker-compose## Test and execute Compose commands using docker-compose.
root@superset:~# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看docker-compose的版本号。
## root@superset:~# docker-compose version
root@superset:~# docker-compose version
Docker Compose version v2.30.3
2.3 使用docker-compose安装Superset
2.3.1 克隆 Superset 的 GitHub 存储库
git clone --depth=1 https://github.com/apache/superset.git
root@superset:~# git clone --depth=1 https://github.com/apache/superset.git
Cloning into 'superset'...
remote: Enumerating objects: 6775, done.
remote: Counting objects: 100% (6775/6775), done.
remote: Compressing objects: 100% (5505/5505), done.
remote: Total 6775 (delta 2198), reused 3319 (delta 1125), pack-reused 0 (from 0)
Receiving objects: 100% (6775/6775), 97.07 MiB | 16.79 MiB/s, done.
Resolving deltas: 100% (2198/2198), done.
root@superset:~#
2.3.2 通过 Docker Compose 启动 Superset
root@superset:~/superset# export TAG=3.1.1
root@superset:~/superset# docker compose -f docker-compose-image-tag.yml up -d
执行如下命令,初始化Superset。
填入URL:IP地址:8088,输入用户名和密码。均为admin。
2.4 开通 OB Cloud 云数据库
查看实例详细信息。
点击
连接
,获取链接串。
2.5 获取连接串
- 获取公共网络连接;如:xxxxxxxxxxxxxxxx.aliyun-cn-hangzhou-internet.oceanbase.cloud
- 安全设置,添加到租户白名单中的 IP 地址可以访问该租户的数据库;如,0.0.0.0/0
- 选择数据库和账号获取示例连接串;
2.6 使用 Superset 连接 OceanBase 数据库
打开运行的 Superset 控制台页面,在右上角选择 + > Data > Connect database
在弹出框中,完成如下配置:
- 在第一步 Select a database to connect 下,选择 MySQL 数据库类型。
- 在第二步 Enter the required MySQL credentials 下,根据在步骤一:获取数据库连接串中的连接串信息依次完成填写HOST,PORT,DATABASE NAME,USERNAME,PASSWORD。也可以自定义DISPLAY NAME的内容。
单击 CONNECT,然后单击 FINISH。
此时,我们就可以看到该数据库已经使用Superset连接。
2.7 导入数据并创建表
导航至OB Cloud数据库控制台,点击
导入样本数据
。
等待数据导入完成。
数据导入完成。
通过以下命令查看 flights_sample
表中的列名
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changedmysql> DESCRIBE flights_sample;
+-------------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+---------------+------+-----+---------+-------+
| id | bigint(20) | NO | PRI | NULL | |
| fl_date | date | YES | MUL | NULL | |
| airline | varchar(100) | YES | | NULL | |
| airline_dot | varchar(100) | YES | | NULL | |
| airline_code | varchar(10) | YES | | NULL | |
| dot_code | varchar(10) | YES | | NULL | |
| fl_number | int(11) | YES | | NULL | |
| origin | varchar(10) | YES | | NULL | |
| origin_city | varchar(100) | YES | | NULL | |
| dest | varchar(10) | YES | | NULL | |
| dest_city | varchar(100) | YES | | NULL | |
| crs_dep_time | int(11) | YES | | NULL | |
| dep_time | decimal(6,2) | YES | | NULL | |
| dep_delay | decimal(6,2) | YES | | NULL | |
| taxi_out | decimal(6,2) | YES | | NULL | |
| wheels_off | decimal(6,2) | YES | | NULL | |
| wheels_on | decimal(6,2) | YES | | NULL | |
| taxi_in | decimal(6,2) | YES | | NULL | |
| crs_arr_time | int(11) | YES | | NULL | |
| arr_time | decimal(6,2) | YES | | NULL | |
| arr_delay | decimal(6,2) | YES | | NULL | |
| cancelled | tinyint(1) | YES | | NULL | |
| cancellation_code | varchar(10) | YES | | NULL | |
| diverted | tinyint(1) | YES | | NULL | |
| crs_elapsed_time | decimal(6,2) | YES | | NULL | |
| elapsed_time | decimal(6,2) | YES | | NULL | |
| air_time | decimal(6,2) | YES | | NULL | |
| distance | decimal(10,2) | YES | | NULL | |
| delay_due_carrier | decimal(6,2) | YES | | NULL | |
| delay_due_weather | decimal(6,2) | YES | | NULL | |
| delay_due_nas | decimal(6,2) | YES | | NULL | |
| delay_due_security | decimal(6,2) | YES | | NULL | |
| delay_due_late_aircraft | decimal(6,2) | YES | | NULL | |
+-------------------------+---------------+------+-----+---------+-------+
33 rows in set (0.13 sec)mysql> SELECT COUNT(*) FROM flights_sample;
+----------+
| COUNT(*) |
+----------+
| 3000000 |
+----------+
1 row in set (0.17 sec)
2.8 在 Superset 中创建数据集
导航至Superset 控制台,在右上角选择 + > Data > Create dataset。
在 New dataset 页面,完成如下配置:
配置项 | 说明 |
---|---|
DATABASE | 选择在步骤二的 DISPLAY NAME 中定义的数据库名。 |
SCHEMA | 选择在步骤一中创建的 OceanBase 数据库。 |
TABLE | 选择在步骤三种创建的表。 |
单击 CREATE DATASET AND CREATE CHART,完成创建数据集。
在创建数据集后,可根据实际情况,选择一个图表类型,单击 CREATE NEW CHART,并根据需求进行图表配置。
2.9 配置可视化图表
效果展示如下
三、参考链接
使用 Superset 和 OceanBase 进行数据分析-V4.3.4-OceanBase 数据库文档-分布式数据库使用文档
Find Open Datasets and Machine Learning Projects | Kaggle
Install Compose standalone | Docker Docs
Docker Compose | Superset
相关文章:

【OceanBase】使用 Superset 连接 OceanBase 数据库并进行数据可视化分析
文章目录 前言一、前提条件二、操作步骤2.1 准备云主机实例2.2 安装docker-compose2.3 使用docker-compose安装Superset2.3.1 克隆 Superset 的 GitHub 存储库2.3.2 通过 Docker Compose 启动 Superset 2.4 开通 OB Cloud 云数据库2.5 获取连接串2.6 使用 Superset 连接 OceanB…...

【通识安全】应急救护常识23则
一、异物入眼 任何细小的物体或液体,哪怕是一粒沙子或是一滴洗涤剂进入眼中,都会引起眼部疼痛,甚至损伤眼角膜。 急救办法:首先是用力且频繁地眨眼,用泪水将异物冲刷出去。如果不奏效,就将眼皮捏起&#…...
C语言:cJSON将struct结构体与JSON互相转换
文章目录 struct 转 jsonjson 转 struct 文档: https://github.com/DaveGamble/cJSON 项目结构 . ├── libs │ ├── cJSON.c │ └── cJSON.h └── main.c示例 struct 转 json #include "libs/cJSON.h" #include <stdio.h>// defi…...
在Linux中,如何查看和修改网络接口配置?
在Linux中,查看和修改网络接口配置主要依赖于几个命令行工具。这里详细介绍两种传统的命令行方式以及一些图形化工具(前提:系统支持): 一、临时性修改 1. 使用ifconfig命令(部分系统已被弃用)…...

使用深度学习来实现图像超分辨率 综述!
今天给大家介绍一篇图像超分辨率邻域的综述,这篇综述总结了图像超分辨率领域的几方面:problem settings、数据集、performance metrics、SR方法、特定领域应用以结构组件形式,同时,总结超分方法的优点与限制。讨论了存在的问题和挑…...

基于深度学习的视觉检测小项目(六) 项目的信号和变量的规划
• 关于前后端分离 当前流行的一种常见的前后端分离模式是vueflask,vueflask模式的前端和后端之间进行数据的传递通常是借助 API(应用程序编程接口)来完成的。vue通过调用后端提供的 API 来获取或提交数据。例如,前端可能通过发送…...

【Android项目学习】3. MVVMHabit
项目链接 文章目录 一. 项目结构1. 项目整体划分2. 模块细分 二. Android知识点学习1. registerActivityLifecycleCallbacks方法2. 一. 项目结构 1. 项目整体划分 MVVMHabit是以谷歌DataBindingLiveDataViewModel框架为基础,整合OkhttpRxJavaRetrofitGlide等流行…...
在Linux中,如何配置负载均衡器以分配网络流量?
NGINX NGINX是一款高性能的HTTP和反向代理服务器,也常用作负载均衡器。它支持多种负载均衡算法,如轮询、加权轮询、IP哈希等。 配置步骤: 安装NGINX:根据您的Linux发行版,使用相应的包管理器安装NGINX。配置负载均衡…...

手机投屏到电视的3种选择:无线本地投屏,无线远程投屏,AirPlay投屏
现在大部分手机投屏都要求连接相同的WiFi,这就意味着手机投屏到电视必须是近距离投屏,稍微远一点就会脱离WiFi连接范围,投屏失败。 如果想将手机远程投屏到安卓电视,要怎样做? 第一步,在手机和安卓电视都安…...
MySQL关联关系理论与实践
MySQL 是一种关系型数据库管理系统,以其高性能、灵活性和易用性在开发者中广受欢迎。在 MySQL 中,数据存储以表格形式存在,表与表之间的关联关系构成了关系型数据库的核心。本篇文章将介绍 MySQL 关联关系的理论基础和常见实践,包括表的类型、主外键的使用,以及连接查询的…...

多模态论文笔记——U-ViT(国内版DiT)
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍U-ViT的模型架构和实验细节,虽然没有后续的DiT在AIGC领域火爆,但为后来的研究奠定了基础,但其开创性的探索值得学习…...
在 IntelliJ IDEA 中开发 GPT 自动补全插件
背景与目标 随着 AI 的发展,GitHub Copilot 等智能代码补全工具在开发者中获得了广泛的应用,极大地提高了编程效率。本篇文章将教你如何开发一个 IntelliJ IDEA 插件,使用 OpenAI 的 GPT API 来实现类似 Copilot 的代码自动补全功能。通过这…...
7. C语言 运算符详解
本章目录: 前言C语言运算符的分类1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 杂项运算符 运算符优先级 前言 在C语言中,运算符是程序中执行各种操作的核心工具,涉及算术运算、逻辑判断、位操作等多个方面。掌握C语言中的各种运…...

Java四大常用JSON解析性能对比:Hutool、Fastjson2、Gson与Jackson测试
1. 引言 JSON 是现代软件开发中常用的数据交换格式,尤其在微服务和前后端分离的架构中更是必不可少。 本文将对 Java 中四大主流 JSON 解析库——Hutool、Fastjson2、Gson 和 Jackson 进行性能测试和对比分析,通过实测 20 万条数据解析,揭示…...

Qt 5.14.2 学习记录 —— 일 新项目
文章目录 1、创建2、查看代码 ---- main.cpp3、查看代码 ---- widgt.h4、查看代码 ---- widgt.cpp和widget.ui5、查看代码 ---- Empty.pro6、运行产生的中间文件 1、创建 左上角的文件,新建文件或项目。如果要写一个GUI程序,应当选择Application&#x…...

uni-app:实现普通选择器,时间选择器,日期选择器,多列选择器
效果 选择前效果 1、时间选择器 2、日期选择器 3、普通选择器 4、多列选择器 选择后效果 代码 <template><!-- 时间选择器 --><view class"line"><view classitem1><view classleft>时间</view><view class"right&quo…...

Unity3D仿星露谷物语开发17之空库存栏UI
1、目标 将库存栏放在游戏界面中,一般情况下角色居中展示时库存栏在底部,当角色位于界面下方时库存栏展示在顶部避免遮挡。 2、CanvasGroup组件 用于集中控制UI元素的透明度、交互性和射线投射行为。CanvasGroup的Alpha属性允许渐变效果,I…...

QT------模型/视图
一、模型/视图结构概述 基本原理: Qt 的模型/视图(Model/View)架构将数据的存储和显示分离,提高了代码的可维护性和复用性。模型(Model):负责存储和管理数据,提供数据的访问接口&am…...
Git - 记录一次由于少输入了一个命令导致的更改丢失
Git - 记录一次由于少输入了一个参数导致的更改丢失 前言 某晚我激情开发了几个小时,中途没有进行commit存档。准备睡觉时,我想创建一个新的分支并将今晚所有更改提交到新分支上(似乎应该开发时候就创建?)。 然后因…...
nodeJS下npm和yarn的关系和区别详解
一、命令对应关系 1. 初始化项目 操作npm 命令Yarn 命令初始化项目npm inityarn init跳过提问快速初始化npm init -yyarn init -y 2. 安装依赖 操作npm 命令Yarn 命令安装项目所有依赖npm installyarn install添加依赖npm install <package-name>yarn add <package…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...