经过前面的步骤,我们已经成功搭建好了数据库,将csv文件中的数据导入到clickhouse中,并将superset和clickhouse成功地连接起来了。现在我们就可以对我们的数据尝试提出一些实际业务问题,使用SQL查询出我们想要的数据结果,并将其可视化为报表形式保存在superset上。
我们不妨从以下几个问题入手:
- ⾏⻋⾥程最多的出租⻋Top 100是哪些?
- 出租⻋每⽇⾼峰期和低峰期(⼩时级别)是什么时候?
- 分析每台出租⻋的平均搭载时⻓是多少?
- 分析每日出租车数量趋势?
- 分析每日出租车订单趋势?
- 分析每日车费(fare)趋势?
- 不同距离长度的出租车订单分布如何?
由于SQL比较简单,不做多余解释,看代码就行。重点说明如何将SQL查询保存为数据报表(slice)的过程。
- ⾏⻋⾥程最多的出租⻋Top 100是哪些?
在SQL Editor中输入:
SELECT sum(trip_miles ) as trip_miles , taxi_id
FROM TAXI_TRIPS
GROUP BY taxi_id
order by trip_miles DESC
limit 100
点击Run Query
,等待服务器返回结果。点击Save Query
保存当前查询。
接下来我们将查询结果保存到superset。
点击Explore
按钮,页面将跳转到数据切片的详细设置页面,
①数据源设置
点击数据源设置后,可以看到数据源对应的SQL,因为数据源的名称并不容易记住,我们首先将其修改为更直观的名称,点击Use Legacy DataSource Editor
切换回以前的数据源旧编辑器模式(新的我没找到在哪里修改数据源名称),
修改后保存即可。
回到新版的旧编辑器,在Metrics
标签页里,superset为我们自动生成了一个聚合指标count(*),表示记录条数,我们可以自定义生成其他的指标。比如我们可以生成一个出租车里程数的SUM聚合指标,并且将其名称标记为trip_miles。
这里有个坑,要是直接在刚才的可视化界面将Metrics设置为trip_miles,superset会提示一定要将这个量值聚合后才能用于图表构建,而构建后的图表指标名称就变成了SUM(trip_miles),但是我们见到的大多数图表并不会这样标注,通常会直接标注里程数(trip_miles),因此SUM(trip_miles)并不直观,为人们好理解。现在也没有太好的解决方案,只能暂时通过这种创