1. 简介
Apache Superset 是一个可用于数据展示与可视化的开源软件,在处理大量数据方面效果显著。Superset 最初为 Airbnb 所开发,在2017年成为Apache的孵化项目。
它是一款快速、直观、轻量的企业级商业智能web应用程序,具有丰富的功能选项,各种用户都可以轻松地以可视化的方式浏览数据,从简单的饼图到高度详细的地理空间图,Apache Superset 无所不能,提供了如下主要特性:
- 一个直观的界面可视化数据集和制作交互式仪表板
- 一个广泛的美丽的可视化阵列来展示您的数据
- 无代码的可视化构建器,提取和呈现数据集
- 为可视化准备数据的世界级SQL IDE,包括丰富的元数据浏览器
- 轻量级语义层,使数据分析人员能够快速定义定制的维度和指标
- 支持多数数据库SQL语言的开箱即用
- 无缝的、内存中的异步缓存和查询
- 一个可扩展的安全模型,允许配置关于谁可以访问哪些产品特性和数据集的非常复杂的规则。
- 与主要的认证后端(数据库,OpenID, LDAP, OAuth, REMOTE_USER等)集成
- 能够添加自定义可视化插件
- 定制的用于编程的API
- 一个为规模而从头设计的云本地架构
Superset 的 官网 上有更详细的介绍。
2. 安装
2.1 操作系统依赖【这里仅针对CentOS系统】
# 安装依赖
sudo yum install gcc gcc-c++ libffi-devel \
python3-devel python3-pip python3-wheel openssl-devel cyrus-sasl-devel openldap-devel
# 官网提示 【在 CentOS 系统上 you may need to upgrade pip for the install to work】
pip3 install --upgrade pip
2.2 Python 虚拟环境部署
# 安装虚拟环境
pip3 install virtualenv
# 创建并激活虚拟环境【随后使用不用每次都创建】
# 激活虚拟环境后 安装或卸载的所有 Python 包都将被限制在此环境中 deactivate 命令可退出讯环境
python3 -m venv venv
. venv/bin/activate
2.3 Superset 安装和初始化
注意:一下命令都是在虚拟环境下执行的。 虚拟环境为 (venv) [root@tcloud ~]#
正常环境为 [root@tcloud ~]#
# 先升级 pip【使用的是最新版本可忽略】
pip install --upgrade pip
1.安装 superset(这个过程要安装的组件较多 时间可能较久 出现错误 可以重新执行安装命令 重新安装不会重复下载组件)
# 如果 pip 安装不成功 可以尝试使用 pip3进行安装
pip install apache-superset
2.初始化数据库
# 先安装 dataclasses 否则 upgrade 时报错
# ModuleNotFoundError: No module named 'dataclasses'
pip install dataclasses
superset db upgrade
3.创建一个admin用户(在设置密码之前,会提示你设置用户名,姓和名)
# 执行命令
export FLASK_APP=superset
superset fab create-admin
# 配置过程
Username [admin]: admin
User first name [admin]: admin
User last name [user]: admin
Email [admin@fab.org]: 123@qq.com
Password:
Repeat for confirmation:
Recognized Database Authentications.
Admin User admin created.
4.加载一些数据【爬取数据 很慢 未成功将导致缺少样例图表 不影响后续使用】
这一步是可以跳过的
# 先安装 scrapy
# 否则load_examples到 Loading [World Bank's Health Nutrition and Population Stats]时报错
# urllib.error.URLError:
# <urlopen error EOF occurred in violation of protocol (_ssl.c:877)>
pip install scrapy
superset load_examples
5.创建默认角色和权限
superset init
6.在8082端口上启动一个开发web服务器【可使用 -p 绑定到其他端口 -h 绑定到特定 IP】
【📣 注意】云服务器需要使用 -h 否则将默认映射到 127.0.0.1,使用云服务器的外网的 IP 映射到的服务器 IP 并不是 127.0.0.1,需要使用 ifconfig 命令查询服务器的 IP 并配置好映射名称,启动时使用服务器的 IP。
superset run -h tcloud -p 8082 --with-threads --reload --debugger
再次启动:
. venv/bin/activate
superset run -h tcloud -p 8082 --with-threads --reload --debugger
3.验证
输入地址 http://tcloud:8082/ 可以切换语言【只有部分翻译成了中文 不建议切换】:
输入 create-admin 配置的 Username 和 Password 即可登录:
【Superset 自带的 3 个图表】
1️⃣ Heatmap
2️⃣ Energy Force Layout
3️⃣ Energy Sankey
4.总结
官网有详细的安装步骤,还是难免会踩坑,至此 Superset 安装部署启动成功 ☀️