1. 简介

Apache Superset 是一个可用于数据展示与可视化的开源软件,在处理大量数据方面效果显著。Superset 最初为 Airbnb 所开发,在2017年成为Apache的孵化项目。

它是一款快速、直观、轻量的企业级商业智能web应用程序,具有丰富的功能选项,各种用户都可以轻松地以可视化的方式浏览数据,从简单的饼图到高度详细的地理空间图,Apache Superset 无所不能,提供了如下主要特性:

  • 一个直观的界面可视化数据集和制作交互式仪表板
  • 一个广泛的美丽的可视化阵列来展示您的数据
  • 无代码的可视化构建器,提取和呈现数据集
  • 为可视化准备数据的世界级SQL IDE,包括丰富的元数据浏览器
  • 轻量级语义层,使数据分析人员能够快速定义定制的维度和指标
  • 支持多数数据库SQL语言的开箱即用
  • 无缝的、内存中的异步缓存和查询
  • 一个可扩展的安全模型,允许配置关于谁可以访问哪些产品特性和数据集的非常复杂的规则。
  • 与主要的认证后端(数据库,OpenID, LDAP, OAuth, REMOTE_USER等)集成
  • 能够添加自定义可视化插件
  • 定制的用于编程的API
  • 一个为规模而从头设计的云本地架构

source env python虚拟环境_superset

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/ 可以切换语言【只有部分翻译成了中文 不建议切换】:

source env python虚拟环境_大数据_02


输入 create-admin 配置的 Username 和 Password 即可登录:

source env python虚拟环境_centos_03


【Superset 自带的 3 个图表】

1️⃣ Heatmap

source env python虚拟环境_centos_04


2️⃣ Energy Force Layout

source env python虚拟环境_centos_05


3️⃣ Energy Sankey

source env python虚拟环境_python_06

4.总结

官网有详细的安装步骤,还是难免会踩坑,至此 Superset 安装部署启动成功 ☀️