数据可视化平台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
2
# 从 avocado.csv 群晖拷贝到容器 amancevice-superset1 内
docker cp /volume1/docker/superset/avocado.csv amancevice-superset1:/usr/local/lib/python3.8/site-packages/superset/

尝试将 SQLite 作为数据源

1
sqlite:////usr/local/lib/python3.8/site-packages/superset/avocado.csv

测试连接 失败

新思路2:将csv导入MySQL

phpMyAdmin 存在文件大小的限制,所以用了 Navicat 导数据

选中,右键选择 导入向导

格式选择 csv

添加文件

已模糊

这里不动,继续

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

表名不变,默认的就可以

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

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

开始导入

已模糊

导入成功后有提示

已模糊

看一下

数据分析

在开始分析之前,重新整理下思路:

  1. csv 因为安全原因,不能直接作为数据源;
  2. 数据不能直接导入 Superset;
  3. 需要一个 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.com

superset导出csv中文乱码问题_Python - UCloud云社区
地址:https://www.ucloud.cn/yun/43869.html

Excel数据分析实例—牛油果销售分析 - 知乎
地址:https://zhuanlan.zhihu.com/p/45877488