Superset入门

安装

Superset官网地址:http://superset.apache.org/

安装Miniconda

1)下载Miniconda(Python3版本)

下载地址:https://repo.anaconda.com/miniconda/

Miniconda3-latest-Linux-x86_64.sh

2)安装Miniconda

将安装包Miniconda3-latest-Linux-x86_64.sh和base.txt依赖文件,导入虚拟机环境

执行安装语句

bash Miniconda3-latest-Linux-x86_64.sh

长按回车,直到出现

输入yes回车后出现

指定安装路径 /opt/module/miniconda3(这里如果输错了可以CTRL+u清空再重新输入)

再输入一个yes并回车,直到出现

3)加载环境变量配置文件,使之生效
source ~/.bashrc
4)取消激活base环境

Miniconda安装完成后,每次打开终端都会激活其默认的base环境,通过以下命令,禁止激活默认base环境

conda config --set auto_activate_base false

创建Python3.8环境

1)配置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

注:1.查看conda的镜像channel配置默认即为defaults

conda config --show channels

2.删除清华镜像

conda config --remove-key channels
2)创建Python3.8环境
conda create --name superset python=3.8.16

说明:conda环境管理常用命令

  • 创建环境:conda create -n env_name
  • 查看所有环境:conda info --envs
  • 删除一个环境:conda remove -n env_name --all

按回车继续

3)激活superset环境
conda activate superset

base-->superset

注:退出当前环境命令

conda deactivate
4)执行python -V命令查看python版本
python -V

版本为Python 3.8.16

Superset部署

1)安装依赖
sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
2)安装Superset

更新pip

base.txt可用于指定superset依赖组件及版本

下载路径:https://raw.githubusercontent.com/apache/superset/2.0.0/requirements/base.txt

在base.txt所在目录下执行命令,安装SuperSet

pip install apache-superset==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple -r base.txt

说明:

-i:指定镜像,这里选择国内镜像

-r:指定superset依赖组件及相应版本,指向base.txt文件即可

3)配置Superset元数据库

在MySQL中创建superset元数据库或直接创建数据库

CREATE DATABASE superset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

在MySQL中创建superset用户​​​​​​​

create user superset@'%' identified WITH mysql_native_password BY 'superset';
grant all privileges on *.* to superset@'%' with grant option;
flush privileges;

在虚拟环境中修改superset配置文件(第184、185行--184+shift+g直接跳转到指定行)

vim /opt/module/miniconda3/envs/superset/lib/python3.8/site-packages/superset/config.py

SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset@hadoop102:3306/superset?charset=utf8'

​​​​​​​安装python msyql驱动并初始化superset元数据

conda install mysqlclient
export FLASK_APP=superset
superset db upgrade

Superset初始化

1)创建管理员用户admin
superset fab create-admin

用户名admin  密码admin123

2)初始化superset
superset init

启动Superset(​​​​​​​conda环境为superset

1)安装gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
2)启动Superset
gunicorn --workers 5 --timeout 120 --bind hadoop102:8787  "superset.app:create_app()" --daemon 

说明:

--workers:指定进程个数

--timeout:worker进程超时时间,超时会自动重启

--bind:绑定本机地址,即为Superset访问地址

--daemon:后台运行

3)登录Superset

访问http://hadoop102:8787

先使用admin管理员账号进行登录(admin--admin123)

4)停止Superset

停掉gunicorn进程

ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9

退出superset环境

conda deactivate

补充:

superset启停脚本superset.sh

#!/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 hadoop102: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

​​​​​​​添加执行权限

chmod +x superset.sh

chmod 777 superset.sh

启动superset

superset.sh start

停止superset

superset.sh stop

使用

对接MySQL数据源

1)安装依赖(​​​​​​​前面步骤已安装,可直接跳过
conda install mysqlclient

说明:对接不同的数据源,需安装不同的依赖

Installing Database Drivers | Superset

二)数据源配置(​​​​​​​database --> table)

点击Data/Databases --> 点击+DATABASE  -> 点击填写Database及SQL Alchemy URI --> MySQL

连接方式一:通过URL连接

点击最下方Connect this database with a SQLAlchemy URl string instead

填写:mysql://superset:superset@hadoop102:3306/gmall_report?charset=utf8

连接方式二:逐个输入认证信息

点击Test Connection,出现“Connection looks good!”提示即表示连接成功 --> 点击CONNECT

完成database配置

接下来配置table

点击Data/Datasets --> 点击+DATASET --> 配置Table

三)制作可视化界面

点击Dashboards/+DASHBOARDS --> 点击Charts/+CHART

出现的问题:

1)conda activate superset

EnvironmentNameNotFound: Could not find conda environment: superset
You can list all discoverable environments with `conda info --envs`.

conda info --envs查看所有环境发现只有base,激活superset环境失败

出现原因:未创建完成python3.8环境

解决方式:重新创建python3.8环境

conda create --name superset python=3.8.16

2)superset fab create-admin

Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.

出现原因:必须为admin进入创建用户

解决方式:检查命令

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值