【OceanBase】使用 Superset 连接 OceanBase 数据库并进行数据可视化分析

文章目录

  • 前言
  • 一、前提条件
  • 二、操作步骤
    • [2.1 准备云主机实例](#2.1 准备云主机实例)
    • [2.2 安装docker-compose](#2.2 安装docker-compose)
    • [2.3 使用docker-compose安装Superset](#2.3 使用docker-compose安装Superset)
      • [2.3.1 克隆 Superset 的 GitHub 存储库](#2.3.1 克隆 Superset 的 GitHub 存储库)
      • [2.3.2 通过 Docker Compose 启动 Superset](#2.3.2 通过 Docker Compose 启动 Superset)
    • [2.4 开通 OB Cloud 云数据库](#2.4 开通 OB Cloud 云数据库)
    • [2.5 获取连接串](#2.5 获取连接串)
    • [2.6 使用 Superset 连接 OceanBase 数据库](#2.6 使用 Superset 连接 OceanBase 数据库)
    • [2.7 导入数据并创建表](#2.7 导入数据并创建表)
    • [2.8 在 Superset 中创建数据集](#2.8 在 Superset 中创建数据集)
    • [2.9 配置可视化图表](#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

bash 复制代码
## 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  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     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的版本号。

bash 复制代码
## 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 存储库

bash 复制代码
git clone --depth=1  https://github.com/apache/superset.git
bash 复制代码
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

bash 复制代码
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 获取连接串

  1. 获取公共网络连接;如:xxxxxxxxxxxxxxxx.aliyun-cn-hangzhou-internet.oceanbase.cloud
  2. 安全设置,添加到租户白名单中的 IP 地址可以访问该租户的数据库;如,0.0.0.0/0
  3. 选择数据库和账号获取示例连接串;

2.6 使用 Superset 连接 OceanBase 数据库

打开运行的 Superset 控制台页面,在右上角选择 + > Data > Connect database

在弹出框中,完成如下配置:

  1. 在第一步 Select a database to connect 下,选择 MySQL 数据库类型。
  2. 在第二步 Enter the required MySQL credentials 下,根据在步骤一:获取数据库连接串 中的连接串信息依次完成填写HOSTPORTDATABASE NAMEUSERNAMEPASSWORD 。也可以自定义DISPLAY NAME的内容。

单击 CONNECT ,然后单击 FINISH

此时,我们就可以看到该数据库已经使用Superset连接。

2.7 导入数据并创建表

导航至OB Cloud数据库控制台,点击导入样本数据

等待数据导入完成。

数据导入完成。

通过以下命令查看 flights_sample 表中的列名

sql 复制代码
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 -A

Database changed

mysql> 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

相关推荐
mm_exploration22 分钟前
halcon三维点云数据处理(六)find_box_3d
前端·数据库·3d
Edward-tan34 分钟前
【玩转全栈】----用户管理案例
数据库·后端·django
风语者6661 小时前
perl包安装的CPAN大坑
开发语言·数据库·perl
shykevin1 小时前
Django Swagger文档库drf-spectacular
数据库·后端·python·django·sqlite
西岭千秋雪_1 小时前
MySQL数据结构选择
数据结构·数据库·mysql
幸运小新1 小时前
Tableau数据可视化与仪表盘搭建-数据连接
信息可视化
V+zmm101342 小时前
基于微信小程序投票评选系统的设计与实现ssm+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计·ssm
熟透的蜗牛2 小时前
大数据技术(八)—— HBase数据读写流程和Api的使用
大数据·数据库·hbase
PersistJiao2 小时前
Couchbase 的 OLAP 能力现状以及提升 OLAP 能力的方法
数据库·couchbase
对,就是哥2 小时前
ABAP弹出对对话框错误信息设计
java·数据库·算法