数据可视化平台Superset
Jan. 22, 2022
Superset 是由 Airbnb (知名在线短租赁公司)开源的数据分析与可视化平台(曾用名 Caravel 、 Panoramix )。 前言 过程和结果哪个更重要?有人说结果重要,也有人说过程重要,更有人觉得过程和结果都很重要,其实老苏觉得这个要分什么事情,就折(xue)腾(xi)来说,老苏觉得过程比结果重要,因为虽然有可能你最终折腾失败了,但是在折腾的过程中你依然能学到很多东西。
以前老苏发文都是最终已经折腾成功的,但其实在老苏的笔记里还有大量折腾失败的案例,本文就是其中之一。
大概是3月份的时候,一个朋友准备搞数据可视化分析,让我折腾一下 Superset ,和很多软件一样,Superset 安装并不复杂,真正难的是怎么使用。
什么是 Superset ?
Superset 是由 Airbnb (知名在线短租赁公司)开源的数据分析与可视化平台。支持丰富的数据源连接,多种可视化方式,并能够对用户实现细粒度的权限控制。该工具主要特点是可自助分析、自定义仪表盘、分析结果可视化(导出)、用户/角色权限控制,还集成了一个 SQL 编辑器,可以进行 SQL 编辑查询等。
安装 在群晖上以 Docker 方式安装。
在注册表中搜索 superset ,选择第一个 amancevice/superset,版本选择 latest。
本文完成于2021年3月,当时的 latest 和现在安装的可能会存在差异
卷 在 docker 文件夹中,创建一个新文件夹,并将其命名为 superset。然后在 superset 文件夹中再创建两个新的子文件夹,命名为 config 和 data。
文件夹 装载路径 备注 /docker/superset/config /home/superset 存放配置文件
端口 端口不能冲突
本地端口 容器端口 类型 8588 8088 TCP
运行 开始资源会很高
甚至CPU占用回到100%
这个过程不会太长,这个时候你如果看日志,会发现日志在快速不停的刷新
日志在 Docker –> 容器 –> amancevice-superset1 –> 详情 –> 终端机
等到日志不再刷新的时候,你就可以在浏览器中输入 http://群晖IP:8588 ,并看到主界面了
这个时候资源消耗会稳定下来
配置用户名和密码 启动 Superset 服务之后,使用 superset-init 脚本以 admin 用户和 Superset 表初始化数据库
docker exec -it amancevice-superset1 superset-init 其中 amancevice-superset1 是容器的名称
用刚才创建的 admin 用户登录
常用命令 命令查询
docker exec -it amancevice-superset1 superset --help
设置您的本地管理员帐户 docker exec -it amancevice-superset1 superset fab create-admin \ --username admin \ --firstname Superset \ --lastname Admin \ --email admin@superset.com \ --password admin 将本地数据库迁移到最新版本 docker exec -it amancevice-superset1 superset db upgrade 加载示例 docker exec -it amancevice-superset1 superset load_examples 初始化 superset docker exec -it amancevice-superset1 superset init 设置中文 Superset 的汉化并不完全,这里只是介绍方法。
进入容器 docker exec --user root -it amancevice-superset1 /bin/bash 安装vim apt-get install vim
修改 /usr/local/lib/python3.8/site-packages/superset/config.py vim /usr/local/lib/python3.8/site-packages/superset/config.py
将 en 改为 zh
重新编译涉及到国际化的文件 pybabel compile -d /usr/local/lib/python3.8/site-packages/superset/translations
重启服务
退出容器
exit
停止容器
docker stop amancevice-superset1
启动容器
docker start amancevice-superset1
打开主页 http://群晖IP:8588,已经是中文了
更换数据库 从安装日志可以看出来,系统默认使用的数据源为 SQLite,为了提高性能,可以改成 MySQL 数据库
群晖 MariaDB 中新建数据库 superset 只是为了演示方便,创建用户时勾选了 创建与用户同名的数据库并授予所有权限。
进入容器 docker exec --user root -it amancevice-superset1 /bin/bash 修改 /usr/local/lib/python3.8/site-packages/superset/config.py 文件 vim /usr/local/lib/python3.8/site-packages/superset/config.py 修改系统数据源,格式为SQLALCHEMY_DATABASE_URI ="mysql://root:密码@xx.xx.xx.xx:3306/数据库名称?charset=utf8"
初始化数据库
退出容器
exit
初始化数据库
docker exec -it amancevice-superset1 superset db upgrade
初始化 superset docker exec -it amancevice-superset1 superset-init
上图中可以看出已经切换到了 MySQL 了
参考文档 Welcome | Superset 地址:https://superset.apache.org/
apache/superset: Apache Superset is a Data Visualization and Data Exploration Platform 地址:https://github.com/apache/superset
amancevice/docker-superset: Docker image for AirBnB’s Superset 地址:https://github.com/amancevice/docker-superset
amancevice/superset 地址:https://hub.docker.com/r/amancevice/superset/
docker-superset/examples at main · amancevice/docker-superset 地址:https://github.com/amancevice/docker-superset/tree/main/examples
superset的docker安装配置和汉化_小小北漂-CSDN博客 地址:https://blog.csdn.net/u014589856/article/details/103582824
Superset 基于Docker的安装&入门解析_kamisamak的博客-CSDN博客 地址:https://blog.csdn.net/qq_33887096/article/details/114532948