Skip to main content
Version: Next

Superset

SuperSet 是一个 开源的商业智能web应用软件,用户可以轻松实现对商业数据进行可视化分析,它被用于 数据应用与可视化 等场景。Apache Superset 是一个开源的数据探查与可视化平台(曾用名 Panoramix、Caravel ),该工具在可视化、易用性和交互性上非常有特色,用户可以轻松对数据进行可视化分析。

superset

准备

在参阅本文档使用 SuperSet 时,需要确保如下几点:

  • 应用是基于 Websoft9 安装的

  • 应用的用途符合 apache2 开源许可协议

  • 应用具备访问条件:配置域名服务器安全组开启网外端口

入门指南

初始化

Websoft9 控制台安装 Superset 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取登录信息。

  1. 通过浏览器访问,进入登录页面

  2. 输入账号密码,成功登录到 Superset 后台

  3. 修改密码:【Superset Admin】>【Profiles】>【Reset my Password】

  4. 修改语言:通过右上角国旗图标设置你所需的语言

从 MySQL 中分析数据

下面以连接 Superset 从 MySQL 数据源中获取数据进行分析作为范例:

  1. 登录后,依次打开:【Data】>【Databases】

  2. 点击右上角【数据库】,输入要连接的数据地址、端口、库名以及驱动(参考

  3. 点击【确认】,追加的数据库显示在列表中

  4. 依次打开菜单栏:【Data】>【Datesets】

  5. 点击追加 Datasets,依次选择库、SCHEMA、Table,点击追加

  6. 新追加的表已经显示在 Datasets 一览了

安装数据库驱动

Superset 支持数十种数据库,但 Superset 默认并没有安装数据库的驱动(连接程序)。

因此,需要用户进入到容器后手动安装,具体如下:

# 范例:安装 MySQL 驱动
pip install mysqlclient

# 范例:安装 PostgreSQL 驱动
pip install psycopg2

# 范例:通过 pip 镜像仓库安装 PostgreSQL 驱动,解决网络慢的问题
pip install psycopg2 -i https://pypi.tuna.tsinghua.edu.cn/simple

配置选项

  • CLI:Usage: superset [OPTIONS] COMMAND [ARGS]...
  • API
  • Flask-AppBuilder
  • 配置文件:/src/docker/pythonpath_dev/superset_config.py,配置项参考:config.py

管理维护

SuperSet 不支持从界面上更换 Logo,所以只能从源码角度进行 Logo 替换:

  1. 上传 Logo 到服务器,命名为:superset-logo-horiz.png

  2. 通过 docker cp 命令拷贝到容器。范例参考如下:

    docker cp /path/superset-logo-horiz.png superset-containername:/app/superset/static/assets/images/superset-logo-horiz.png

    /path 是服务器上 Logo 所在的文件夹路径;superset-containername 为 SuperSet 容器名称

  3. 刷新 Superset 后台页面,查看更换效果

配置 SMTP

Superset 配置 SMTP 发邮件的步骤:

  1. 修改 Superset 配置文件,增加如下的 SMTP 配置段,设置好自己的参数。

    # smtp server configuration
    EMAIL_NOTIFICATIONS = True # all the emails are sent using dryrun
    SMTP_HOST = 'smtp.163.com'
    SMTP_STARTTLS = True
    SMTP_SSL = True
    SMTP_USER = 'websoft9@163.com'
    SMTP_PORT = 465
    SMTP_PASSWORD = '#wwBJ8'
    SMTP_MAIL_FROM = 'websoft9@163.com'
  2. 重启 Superset 容器后生效

    sudo docker restart superset-app

修改密码

登录 Superset 后台,修改密码:【Settings】>【User】>【Info】

Superset 修改密码

找回密码

如果用户忘记了密码,需要连接 SuperSet 数据库,并运行重置密码的 SQL 命令。

运行如下的 SQL 语句后,用户 admin 的密码就被设置为admin123

update ab_user set password='pbkdf2:sha256:150000$w8vfDHis$b9c8fa353137417946766ed87cf20510da7e1e3a7b79eef37426330abef552bf' where username='admin';

故障

Superset 容器中安装数据库驱动报错?

现象描述:ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/home/superset' Check the permissions.

原因分析:权限不足

解决方案:在 Websoft9 控制台中的容器管理界面,执行容器命令(默认会以 roo 用户连接),然后再安装驱动

Superset 密码正确,但仍然登录失败?

现象描述:用户名和密码完全正确,但 Superset 仍然登录失败,错误信息 Invalid login, Please try again

原因分析:暂时未知

解决方案:重启所有 Superset 容器