目录
一、简介
二、Metabase入门级实践
三、ETL配置结合Python提取数据
四、生成图表看板
一、简介
1. Metabase:一个数据分析工具,可以用来查询数据、定制报表、数据可视化。
2. ETL:数据仓库技术,是英文Extract-Transform-Load的缩写。用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。
二、Metabase入门级实践
1. 主页
1)根据你的数据实时这些透视:该区域显示一些数据表
2)分析:显示所有的仪表盘、问题和定时任务
3)我们的数据:已连接到Metabase的数据库的列表
2. 创建问题
1)简单查询:挑选并浏览数据,添加简单的过滤或聚合,然后将数据可视化
2)自定义查询:使用高级查询编辑器完成关联,创建自定义列,实现数学计算等更多高级功能
3)原生查询:通过写下自己的sql或者原生查询,回答更多复杂的疑问
3. 数据可视化
1)可以看到以上三个类型的”创建问题“,左下方都有”可视化“的按钮,点击按钮后,可配置”可视化方式“
2)假如我选择”组合“,也就是折线图和柱状图的组合,然后配置下图中的”数据、显示、坐标轴和标签”,即可形成类似右侧的图表
4. 保存问题并生成图表看板
1)完成数据可视化配置后,就可点击右上角的“保存”按钮,然后配置问题名字以及选择集合,点击保存按钮即可
2)保存问题后,会提示添加到仪表盘,添加后如下图所示(该仪表盘中有两个问题,且显示为图表的形式)
三、ETL配置结合Python提取数据
备注:ETL是一个工具,可以结合sql和python,生成新表。因为该工具是公司开发的,未开源,所以以下简单介绍一下用法。
1. 配置一个python文件(简称task),主要包含”表信息“、用于抽取数据的”sql语句“和用于处理sql中字段值的”python语句“
1)表信息(task_info):配置task类型方式(纯sql、sql+python)、表名、表字段、数据库信息等
2)sql语句(extract):比如:select * from table_name where age>=18
3)加载(preload):就是每次更新新表时,把历史数据全部清空。比如:delete from table_name
4)”python语句“(transform):如果表中字段type的值是一段json,我想取出其中的某个值,就要用python取出来
比如type的值格式是:{"rate": "0.045", "days": "30"},那么我如果只想取days作为新表中new_type的字段值,那么就需要python转换一下
new_type = json.loads('type')["days"]
2. 运行task后,可以按照配置在某数据库下生成一个新表,更新Metabase中的该数据库后,就可以使用Metabase查看表数据
3. 表中的数据如果需要每周期更新一次,就把task引入到run_daily.py文件(该文件中的task可按周期更新)中
四、生成图表看板
根据三中的步骤生成了新表后,就可以结合二中的”创建问题、数据可视化、保存问题并生成图表看板“一系列步骤,生成想要的图表看板