superset是一个自助数据分析系统,支持大部分数据库,提供多种美观的图表,并可以在页面上配置纬度指标等来展示数据。
下面我们来搭建下这个系统,并连接mysql数据库展示数据。
采用docker搭建,方面在不同系统安装。
运行superset镜像
docker run -d -p 8088:8088 -v supersetData:/var/lib/superset --name superset amancevice/superset
这里我挂载了外部目录supersetData来保存容器里的数据
然后初始化管理员配置
docker exec -it superset superset-init
因为我挂载了外部目录存放数据,所以以后再启动容器都不用初始化了。
然后输入ip:8088,用你刚设置的管理员帐号密码登录
就可以进入superset系统了,可以看到里面空空如也,啥数据也没有。
现在我们来连接mysql显示数据
先点Sources->Databases->右上角+号
然后输入mysql信息
然后点Test Connection会提示Seems OK,说明连接成功。
如果数据出现乱码问题,可以在url追加参数?charset=utf8
同时页面底部也会出现Tables,我们点save保存配置
接下来配置一个图表
点Sources->Tables->右上角+号
Database选择我们刚才配好的mysql,然后输入要分析的表名,点保存,就会进入下面的页面
点编辑按钮
看List Columns选项卡,这时候可以看到系统已经自动帮我们配置好纬度和指标(其实就是number全是sum,varchar全是group)。
这里可以根据自己需求来分组和count,sum,avg。然后save,这是会跳转到图表编辑页面
默认是Table View,点击label可以选其他图表
配置纬度指标还有时间,点击run query,表格变成这样。
接下来点保存,输入chart name,然后选择Add to new dashbord,输入你的仪表盘名称。
save 之后就可以看到你的仪表盘页面了,你还可以调整图表大小位置,添加更多图表,快去尝试吧。
tips:
1,如果需要外部引用dashboard页面,得先给public role添加该dashboard权限,例如:
2,如果需要想引入dashboard时去掉菜单栏,可以在url追加参数?standalone=true。如果还想对页面样式有调整,可以在修改dashboard的css属性
比如填写
.dashboard-header{
display:none;
}
可以隐藏head