杂项

Superset基于Windows在线及离线搭建

Superset简介

官网这么说:Superset 快速、轻量级、直观,并加载了各种选项,使所有技能的用户都可以轻松探索和可视化他们的数据,从简单的折线图到高度详细的地理空间图表。

一款轻量级的BI工具,从数据构建,前端渲染,在这类开源项目中应该算挺优秀的。几年前我记得好像是Airbnb在推,等到今天看到他已经是Apache的孵化项目了。

接下来跟着本人趟过的坑试试在Windows上怎么顺畅的运行起来;

联网模式:

1、环境准备:

superset基于Python语言flask框架下开发,在自有电脑上安装python3.X(安装步骤略过)。

检查电脑是否有C++ 14.0编译环境,如果您是C#/C/C++开发电脑,这一步基本没什么问题,如果不是,请参考如下两种方式安装C++编译环境

(1)、基于Visual Studio安装,打开链接:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com) ,安装器下载完成安装时如果您不基于C系列语言做开发,那就直接选择C++桌面开发安装就好,版本从2015到2022都能满足。

  • 基于C++轻量级安装,这个大家用好搜索引擎一搜一大堆,不赘述。
  • 安装superset,略过官网介绍及其它帖子介绍,我们直接开始。

(2)、superset安装:

创建Python虚拟环境安装:

复制代码
pip install virtualenv
virtualenv superset
cd superset/Script
activate
pip install apache-superset

 

复制代码

 

保证电脑网络不断线,这个时候去泡杯茶  (开始想早点下班呀,这些领导们真的烦人,开玩笑啦,自己是多么的热爱工作)

回归正题,这个时候估计已经安全下载完成,利用VsCode或者PyCharm打开这个虚拟环境的项目,整体打开吧,要不然一堆的红色波浪线不利用问题排查

项目会在这条路径下G:\Python_Code\superset\superset\Lib\site-packages\superset,可以先在cmd命令提示框下cd到这个路径。

Pycharm打开后我们直奔 Config.py 文件

 

先看第二组框选内容,原本配置文件拿sqlite举了个栗子,直接注释掉,写第二条,内容为:

SQLALCHEMY_DATABASE_URI = 'mysql://user:password@localhost/superset'//依次为数据库类型、用户名、密码、主机名、数据库名

再返回看第一组框选内容,我们先看绿框上面的注释:

# Your App secret key. Make sure you override it on superset_config.py
# or use `SUPERSET_SECRET_KEY` environment variable.
# Use a strong complex alphanumeric string and use a tool to help you generate
# a sufficiently random sequence, ex: openssl rand -base64 42"
你的应用秘密密钥。确保在superset_config.py中重写了它
或者使用' SUPERSET_SECRET_KEY '环境变量。
使用强复杂的字母数字字符串,并使用工具来帮助您生成
足够随机的序列,例如:openssl rand -base64 42”

最简单是使用openssl生成,这个不另作介绍,但这个一定要修改哦。

 

(3)、回到CMD命令框操作:

还记得上面写的:项目会在这条路径下G:\Python_Code\superset\superset\Lib\site-packages\superset,可以先在cmd命令提示框下cd到这个路径

 

复制代码
1、# 初始化数据库
superset db upgrade
2、# 创建管理员用户 
flask fab create-admin
3、# 创建默认角色和权限
superset init
4、# 运行superset
superset run -p 8001 --with-threads --reload --debugger
复制代码

到这里结束了吗?正常流程结束了,但是,谁会那么一帆风顺就到这儿了呢

第一步过程中提示缺少pymysql包,手动安装下,如果还提示缺少其它包,顺手安装下。接下来我们看界面:

 

Leave a Reply

Your email address will not be published. Required fields are marked *