【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…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
