Superset概述
Apache Superset 是一款开源的现代化轻量级 BI 分析工具。它支持对接多种数据源,提供丰富的图表类型与直观的仪表盘功能,是企业数据可视化的理想选择。
主要特点:
• 开源免费:灵活定制,无需额外付费。
• 多数据源支持:与 Hive、Kylin、Druid 等大数据工具无缝对接。
• 易用性:友好的用户界面和自定义仪表盘设计。
关注下方公众号,获取更多热点资讯
Superset应用场景
1. 数据仓库可视化:基于 Superset 的仪表盘,将 Hive 等数仓数据清晰地展示。
2. 业务分析报表:支持生成实时交互的分析报表,用于决策支持。
3. 数据监控平台:通过插件与报警系统集成,便于企业数据监控。
Superset安装及使用
Superset官网地址:http://superset.apache.org/
Superset文档地址:https://superset.apache.org/docs/intro
Superset安装及使用
本部分介绍 Superset 的安装步骤,从配置独立的 Python 环境到最终部署。
安装Python环境
Superset 是基于 Python3 开发的,要求 Python 版本在 3.7。如果服务器默认 Python 是 2.x,可以通过 Conda 创建独立的 Python3 环境。
安装Miniconda
下载Miniconda
访问以下链接,下载适配系统的安装包:
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
其他版本可以查看:https://repo.anaconda.com/miniconda/
安装Miniconda
执行安装脚本
sh Miniconda3-latest-Linux-x86_64.sh
按回车继续
Welcome to Miniconda3 py39_4.11.0
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
空格翻阅安装条款
同意条款,输入yes
Do you accept the license terms? [yes|no]
[no] >>>
输入安装目录
Miniconda3 will now be installed into this location:
/root/miniconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/root/miniconda3] >>>
运行初始化conda,输入yes
installation finished.
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
[no] >>>
刷新
source ~/.bashrc
创建Python3.7(Superset)环境
配置conda国内镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set show_channel_urls yes
创建Superset
环境
conda create --name superset python=3.7
或者使用--channel指定国内源
conda create --name superset python=3.8 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
激活Superset
环境
conda activate superset
查看python版本
(superset) [root@r-wb-18 ~]# python
Python 3.7.11 (default, Jul 27 2021, 14:32:16)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Superset部署
**注意:**执行部署前需要进入我们刚刚创建的环境conda activate superset
安装依赖
安装Superset之前,需安装以下所需依赖
yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
安装Superset
1. 安装(更新)
setuptools
和pip
pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
2. 安装Superset
pip install apache-superset -i https://pypi.douban.com/simple/
说明:-i 的作用是指定镜像,这里选择国内镜像注:如果遇到网络错误导致不能下载,可尝试更换镜像
pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
3. 初始化Superset数据库
superset db upgrade
创建管理员用户
superset fab create-admin
**说明:**flask是一个python web框架,Superset使用的就是flask
添加创建账号信息
2022-03-18 11:22:47,189:INFO:superset.utils.screenshots:No PIL installation found
Username [admin]: jast
User first name [admin]: jast
User last name [user]: zhang
Email [admin@fab.org]: xxx@foxmail.com
Password:
Repeat for confirmation:
Recognized Database Authentications.
Admin User jast created.
Superset初始化
superset init
启动Superset
1. 安装gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
说明:gunicorn是一个Python Web Server,可以和java中的TomCat类比
2. 启动Superset
gunicorn --workers 5 --timeout 120 --bind 192.168.60.18:18888 "superset.app:create_app()" --daemon
说明:--workers:指定进程个数 --timeout:worker进程超时时间,超时会自动重启 --bind:绑定本机地址,即为Superset访问地址 --daemon:后台运行
3. 登录Superset访问
http://192.168.60.18:18888
,使用我们刚刚创建的管理员用户登录4. 停止Superset
ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
Superset 一键启停脚本
给大家提供一个一键启停脚本
#!/bin/bash
superset_status(){
result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
if [[ $result -eq 0 ]]; then
return 0
else
return 1
fi
}
superset_start(){
source ~/.bashrc
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
conda activate superset ; gunicorn --workers 5 --timeout 120 --bind 192.168.60.18:8787 --daemon 'superset.app:create_app()'
else
echo "superset正在运行"
fi
}
superset_stop(){
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset未在运行"
else
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
fi
}
case $1 in
start )
echo "启动Superset"
superset_start
;;
stop )
echo "停止Superset"
superset_stop
;;
restart )
echo "重启Superset"
superset_stop
superset_start
;;
status )
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset未在运行"
else
echo "superset正在运行"
fi
esac
欢迎关注我的公众号“编程与架构”,原创技术文章第一时间推送。