数据可视化平台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