Apache Superset的配置和使用

本文详细指导如何配置Apache Superset,包括MySQL数据源安装、错误解决、数据表配置、CSV导入、仪表盘创建及图表设置,适合初学者入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


关注【郑大钱呀】[公][众][号],回复 交流群,进群,我们一起交流,一起学习。

1. 准备工作

  1. Superset平台已经搭建完毕
  2. MySQL数据库已经安装,并配置完成(包括数据库已经创建完成)

2. 数据源安装

superset支持如下数据源,一般情况下,只要数据源支持SqlAlchemy,superset应该都是能支持的,具体如下:

这里我们就是用Mysql的数据源,执行pip install mysqlclient,嗷吼~,报错了,如图

WARNING: Discarding http://mirrors.cloud.aliyuncs.com/pypi/packages/6b/ba/4729d99e85a0a35bb46d55500570de05b4af10431cef174b6da9f58a0e50/mysqlclient-1.3.1.tar.gz#sha256=3549e8a61f10c8cd8eac6581d3f44d0594f535fb7b29e6090db3a0bc547b25ad (from http://mirrors.cloud.aliyuncs.com/pypi/simple/mysqlclient/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/6a/91/bdfe808fb5dc99a5f65833b370818161b77ef6d1e19b488e4c146ab615aa/mysqlclient-1.3.0.tar.gz (76 kB)
     |████████████████████████████████| 76 kB 71.2 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /root/env/bigdataEnv/env_superset/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-o3ctm0lo/mysqlclient_59144b9eee4a4f1bbeab511376d7668f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-o3ctm0lo/mysqlclient_59144b9eee4a4f1bbeab511376d7668f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-lmcdz_ey
         cwd: /tmp/pip-install-o3ctm0lo/mysqlclient_59144b9eee4a4f1bbeab511376d7668f/
    Complete output (10 lines):
    /bin/sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-o3ctm0lo/mysqlclient_59144b9eee4a4f1bbeab511376d7668f/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/tmp/pip-install-o3ctm0lo/mysqlclient_59144b9eee4a4f1bbeab511376d7668f/setup_posix.py", line 47, in get_config
        libs = mysql_config("libs_r")
      File "/tmp/pip-install-o3ctm0lo/mysqlclient_59144b9eee4a4f1bbeab511376d7668f/setup_posix.py", line 29, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    OSError: mysql_config not found

通过执行yum install mysql-devel命令,安装mysql-devel,成功解决,再次执行pip install mysqlclient成功解决。

3. 数据源配置

安装完成后,我们就可以配置数据源了,进入superset平台,依次点击如下菜单:Data - Databases,进入数据源添加页面,如下图:


点击右上角的加号按钮,添加数据源,这里我们以MySQL为例,主要填写两个参数:Database即数据库的名称和SQLAlchemy URI,URI的链接方式可以参考官网,MySQL的相关信息如下:


但是我用这个连接串mysql+mysqldb://account:password@ip:port/superset?charset=utf8去连接的时候,却报错:

ERROR: Unexpected error occurred, please check your logs for details

于是就换成了用PyMySQL来连接,先使用执行如下命令安装PyMySQLpip install PyMySQL,填入连接串mysql+pymysql://account:password@ip:port/superset?charset=utf8,点击Test Connection连接成功,弹框提示Seems OK!

其他选项根据自己需要填写,填写完成后,点击保存按钮即可。然后就能在数据源中看到记录了,如下图:

4. 通过CSV建表并导入数据

我们以 tushare的机构席位数据为例,获取数据,需要使用pip install tushare命令提前装好tushare,具体代码如下:

import tushare as ts
df=ts.cap_tops()
df.to_csv('C:\\Users\\Administrator\\Desktop\\cap_tops_data.csv')

执行完成后,会在我们的桌面上生成一个csv的数据文件,下面我们把数据导入到数据库的表中,进入首页,依次点击菜单Data-Upload a CSV,进入CSV数据上传界面,如下图:

主要填写如下内容:

  1. Table Name:输入表名,tk_cap_tops
  2. 上传CSV文件
  3. Table Exists,修改为Replace,如果表存在会将其覆盖。
  4. 点击保存即可,没有报错的话,应该就是上传成功了
    此时我们去查询一下数据库,就有数据了,如图:

5. 配置数据表

进入superset平台,依次点击如下菜单:Data-Datasets,进入数据表配置页面,如下图:


点击右上角的加号,进入配置界面,选择数据源和刚才创建的表,保存即可,如下图:

成功后,就会显示你添加的记录了

6. 新增仪表盘

进入superset平台,依次点击Dashboards菜单,进入仪表盘配置页面,如下图:

点击右上角的加号,添加一个新的仪表盘,填写完信息,保存即可。


保存完成后,就会显示你添加的记录了

7. 配置仪表盘图表

当仪表盘新增完后,仪表盘里面是空的,我们需要为其添加图表,进入superset平台,依次点击Charts菜单,为仪表盘配置图表


选择我们之前创建的表以及可视化的表类型,如下图:

选择完成后,点击CREATE NEW CHART,进入图表编辑页面,根据需求编辑一下数据,然后保存,并将图表添加在仪表盘中,这时候就能在面板看到我们的图标和数据了,如下图:

### Apache Superset Metabase 的特点对比 #### 功能特性 Apache Superset 是一个开源的数据探索与可视化平台,支持丰富的图表类型交互式仪表板创建功能[^1]。该工具提供了 SQL 查询编辑器以及对多种数据源的支持,允许用户编写自定义查询并保存为视图。 Metabase 同样是一个易于使用的开源商业智能 (BI) 平台,专注于简化数据分析过程中的复杂操作。它内置了自然语言处理能力,使非技术人员能够通过简单的提问来获取所需的信息而无需掌握编程技能。 #### 优势分析 对于 **Apache Superset** 来说: - 支持广泛的数据库连接选项; - 社区活跃度高,插件生态丰富; - 高度可定制化界面设计满足不同业务需求; 而对于 **Metabase** 则有如下优点: - 用户友好型界面适合初学者快速上手; - 自动检测模式帮助理解新加入的数据集结构; - 内置问答机器人降低了技术门槛; #### 缺点探讨 尽管两者都表现优异但仍存在一些局限性,在考虑采用时需要注意: 关于 **Apache Superset**: - 对于新手而言学习曲线较陡峭; - 安装配置相对复杂可能不适合小型项目部署; 至于 **Metabase**, 主要缺点在于: - 扩展性性能方面不如其他竞争对手强大当面对海量级数据量时可能会遇到挑战; - 开发者文档更新速度有时跟不上版本迭代频率; ```python # Python 示例代码用于展示如何安装两个库 !pip install apache-superset metabase-sqlalchemy-dialect ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑大钱呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值