Superset部署+省份地图可视化

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Superset部署+省份地图可视化相关的知识,希望对你有一定的参考价值。

文章目录

Superset部署

  • Apache Superset是一个轻量级的数据可视化平台
    Superset的Web框架用的是Flask
    官网:http://superset.apache.org/

1、安装MiniConda

https://yellow520.blog.csdn.net/article/details/122633913

2、创建虚拟环境,名为superset,Python版本3.7,选y

conda create --name superset python=3.7

3、进入虚拟环境

conda activate superset

4、安装SuperSet依赖

sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel

5、安装(更新)setuptools和pip

pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/

6、安装Superset(-i作用是指定镜像)

pip install apache-superset -i https://pypi.douban.com/simple/

7、初始化Superset数据库

superset db upgrade

8、创建管理员用户,主要是填写UsernamePassword并记住,其它随意

export FLASK_APP=superset
superset fab create-admin

9、Superset初始化

superset init

10、安装 Gunicorn

pip install gunicorn -i https://pypi.douban.com/simple/

11、Superset启停

gunicorn --workers 6 --timeout 90 --bind hadoop107:8787 "superset.app:create_app()" --daemon
参数说明
--workers进程个数
--timeoutworker进程超时时间,超时会自动重启
--bind绑定地址,即Superset访问地址,端口号建议8787
--daemon后台运行
ps -ef | awk '/superset/ && !/awk/print $2' | xargs kill -9

12、superset启停脚本

touch superset.sh
chmod 777 superset.sh
vim superset.sh
#!/bin/bash

HOST=hadoop107

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 6 --timeout 90 --bind $HOST: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

脚本使用

superset.sh start

13、浏览器访问hadoop107:8787,输入上面设定的用户名和密码

mysql数据准备

CREATE DATABASE superset_test;
USE superset_test;
CREATE TABLE order_by_province(
  ymd           date          NOT NULL COMMENT '统计日期',
  province_name varchar(255)  NOT NULL COMMENT '省份简称',
  province_id   varchar(255)  NOT NULL COMMENT '省份ID',
  iso_code      varchar(255)  NOT NULL COMMENT 'ISO 3316-2 国际地区编码',
  order_amount  decimal(16,2) NOT NULL COMMENT '订单金额',
  PRIMARY KEY (ymd, province_id) USING BTREE
);
INSERT INTO order_by_province VALUES ('2021-06-14','广东','44','CN-44',357141.20);
INSERT INTO order_by_province VALUES ('2022-02-14','广西','45','CN-45',130352.03);
INSERT INTO order_by_province VALUES ('2022-02-14','海南','46','CN-46',104162.35);
INSERT INTO order_by_province VALUES ('2022-02-14','浙江','33','CN-33',2229.01);
INSERT INTO order_by_province VALUES ('2022-02-15','广东','44','CN-44',357141.00);
INSERT INTO order_by_province VALUES ('2022-02-15','广西','45','CN-45',352.00);
INSERT INTO order_by_province VALUES ('2022-02-16','广东','44','CN-44',357141.00);
INSERT INTO order_by_province VALUES ('2022-02-16','广西','45','CN-45',30352.04);
INSERT INTO order_by_province VALUES ('2022-02-16','海南','46','CN-46',4162.35);
INSERT INTO order_by_province VALUES ('2022-02-17','广东','44','CN-44',357141.00);
INSERT INTO order_by_province VALUES ('2022-02-17','广西','45','CN-45',130352.05);
INSERT INTO order_by_province VALUES ('2022-02-18','广东','44','CN-44',357141.00);
INSERT INTO order_by_province VALUES ('2022-02-18','海南','46','CN-46',4162.35);

Superset对接MySQL数据源

1、安装依赖

conda install mysqlclient

2、重启Superset

superset.sh restart

3、在界面创建数据源(Databases对应库,Datasets对应表)

4、填写MySQL连接参数,注意设置charset=UTF8,否则界面中文显示乱码

5、创建与表的连接

省份数据可视化


Superset是否具有动态可视化功能?

暂时未发现

可手动刷新某个chart

以上是关于Superset部署+省份地图可视化的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化项目分布地图设计之显示省份地图

全国疫情统计可视化地图

Echarts 地图 省份的颜色自定义如何设置?

Echarts 地图 省份的颜色自定义如何设置?

Echarts 地图 省份的颜色自定义如何设置?

报表中如何实现中国地图钻取到各省地图