数据可视化平台Superset(踩坑篇)
从主菜单可以看出来,第一层是数据(Data),第二层是图表(Charts),第三层是看板(Dashboards)

数据形成了图表,而图表又构成了看板
理解数据
为了能展示数据,我找到了一篇文章 Excel数据分析实例—牛油果销售分析(https://zhuanlan.zhihu.com/p/45877488),看能否用 Superset 来练习数据展示。
数据来源: Avocado Prices(https://www.kaggle.com/neuromusic/avocado-prices)
首先用 Excel 打开 avocado.csv 文件

对数据的标题稍作调整

| 列 | 含义 | 备注 |
|---|---|---|
| Week | 第几周 | |
| Data | 日期 | |
| AveragePrice | 单个牛油果的平均价格 | |
| Total Volume | 牛油果销售总量 | 包含了3种牛油果 PLU-4046,PLU-4225, PLU-4770 单个出售量 和 按袋出售的牛油果个数 Total Bags |
| PLU-4046 | PLU-4046的销售个数 | |
| PLU-4225 | PLU-4225的销售个数 | |
| PLU-4770 | PLU-4770的销售个数 | |
| Total Bags | 袋装牛油果的销售总量 | 为以袋为单位出售的牛油果的总个数,包含小袋Small Bags,大袋Large Bags和超大袋XLarge Bags三种不同规格 |
| Small Bags | 小袋牛油果销售个数 | |
| Large Bags | 大袋牛油果销售个数 | |
| XLarge Bags | 超大袋牛油果销售个数 | |
| type | 牛油果类型 | 标明牛油果是普通的还是有机的 |
| year | 年份 | |
| region | 地区 | 表示美国不同地区的牛油果销售量,包含部分城市、西部、东北部等地区和全美总体数据 |
新建数据库
通过 phpMyAdmin 新建一个库 demo

上传数据
连接到新数据库
在主界面 数据库(Data) –> 数据库(Databases)

点右上侧的 + 数据库(DATABASE),在弹出界面填写 数据库名称(DATAASE NAME) 和SQLAlchemy URI
SQLAlchemy URI和之前config.py中的SQLALCHEMY_DATABASE_URI格式是一致的,也是mysql://用户:密码@xx.xx.xx.xx:3306/数据库名称?charset=utf8

点 测试连接(TEST CONNECTION),如果测试不通过,下方会有提示

通过之后

SQL LAB SETTINGS 页中勾选 允许 CREATE TABLE AS

扩展 页中勾选 Allow Data Upload

点 ADD 保存

注册新表(失败)
在主界面 数据库(Data) –> 数据库(Datasets)

点右上侧的 + 数据库(DATASET),在弹出界面,模式选 demo

因为 demo 是空库,所以 表也是空的,需要自己填 avocado,然后点 Create avocado

点 ADD,居然出错了,没权限?

上传 CSV(失败)
在主界面 数据库 –> 上传CSV文件

填写表名

点 保存 ,居然又出错了,显示 No such file or directory

显示不存在目录,进入容器后发现确实 /usr/local/lib/python3.8/site-packages/superset/ 确实不存在 app,依次创建 /app/static/uploads/ 三级目录,再上传
这次显示的是 Permission denied

新思路1:直接将csv作为数据源(失败)
将 avocado.csv 丢到 /docker/superset目录,右键 –> 属性 获取 所在位置

SSH 登录到群晖
1 | # 从 avocado.csv 群晖拷贝到容器 amancevice-superset1 内 |
尝试将 SQLite 作为数据源
1 | sqlite:////usr/local/lib/python3.8/site-packages/superset/avocado.csv |

测试连接 失败

新思路2:将csv导入MySQL
phpMyAdmin 存在文件大小的限制,所以用了 Navicat 导数据

选中表,右键选择 导入向导

格式选择 csv

添加文件

这里不动,继续

时间的格式默认是 DMY,改为 YMD

表名不变,默认的就可以

字段也不用改,因为前面已经处理过了

第一次导入,默认还没有数据,所以选什么都一样

开始导入

导入成功后有提示

看一下

数据分析
在开始分析之前,重新整理下思路:
csv因为安全原因,不能直接作为数据源;- 数据不能直接导入
Superset; - 需要一个
MySQL或者其他类型的数据库作为存储;
设置数据库(Databases)
这一步,已经在 连接到新数据库 中完成了,所以可以跳过;
设置表(Datasets)
在主界面 数据库(Data) –> 数据库(Datasets)

点右上侧的 + 数据库(DATASET),在弹出界面,模式选 demo

直接点 ADD

设置图表(Charts)
在主界面 Chart –> + 图表

下拉框中选表

创建新图表

终于看到图表了,但接下来就不知道怎么玩了,这个得先学 数据分析 了吧?

参考文档
AWS 教您手把手玩转 Apache Superset 可视化 Amazon S3 里的数据 | 亚马逊AWS官方博客
地址:https://aws.amazon.com/cn/blogs/china/aws-teaches-you-to-play-with-apache-superset-to-visualize-the-data-in-amazon-s3/#mac# 篇三:自建Superset数据可视化平台并创建疫情地图网站(上)_服务器_什么值得买
地址:https://post.smzdm.com/p/a6lr6z6e/#mac# 篇四:自建Superset数据可视化平台并创建疫情地图网站(下)_服务器_什么值得买
地址:https://post.smzdm.com/p/a2592poq/canghailan/Wuhan-2019-nCoV: 2019-nCoV 新冠状病毒 2019-12-01至今国家、省、市三级每日统计数据(支持接口读取)
地址:https://github.com/canghailan/Wuhan-2019-nCoV如何让Superset的地图显示中文
地址:https://weibo.com/ttarticle/p/show?id=2313501000014179740838785429&sudaref=www.google.comsuperset导出csv中文乱码问题_Python - UCloud云社区
地址:https://www.ucloud.cn/yun/43869.htmlExcel数据分析实例—牛油果销售分析 - 知乎
地址:https://zhuanlan.zhihu.com/p/45877488