首先看一个tableau的可视化界面。以下是一些真实使用的图片,我自己做的虽然不是漂亮的但是很实用。有很多人制作了很精美的图形:
popular names | Tableau Public
工作簿: Top Baby Names US (tableau.com)
为什么要可视化分析?虽然大多数时间都是和代码打交道,但是可视化可以更加直观地给我们带来一些对于数据的感性认识。相较于代码,通常能更快发现一些模式规律等,而后再下手做代码,会更加有的放矢。可视化的工具有很多,这里将主要基于一下工具介绍。tableau以及一个开源的superset来进行,两者各有自己的特点。首先将介绍tableau。
一、tableau安装与激活
1. XX版问题踩坑
之前为了使用tableau的XX版,我基本上每个网传版本都测试了。结论是只有2019的破解版能正常使用,其他的都不行。而2019版是不支持clickhouse的。因此又尝试了更高版本的Tableau Desktop 2021和Tableau Desktop 2023。结果是都有问题,看起来是能激活的,但实际有问题。Tableau Desktop 2021版本XX后绘图空白。Tableau Desktop 2023的版本,XX后数据源的功能都没有,说明还是演示版本。另外一个2024的版本的,看下载页的截图就是没有数据源,我甚至都没有下载。结论是XX也就能用2019版。注意XX版仅供学习、试用,这里不提供下载也不鼓励XX。推荐购买激活码,又快又便宜,节省时间节省生命。
2. 购买激活码
在某宝搜索clickhouse,就可以看到卖激活码的。我买了一个一码两机的,只要不到10块钱就激活了。再次推荐大家购买激活码,节省生命。激活了两个版本2023和2024.2供对比。也发现了一些差异。2023和2024支持clickhouse的方式不尽相同。
正版的Tableau Desktop安装方式就比较统一而且简单,这里不在赘述,只放一个下载连接。推荐安装2024版本的。
3.支持clickhouse的版本
对比汇总
Tableau Desktop版本 | XX版 | clickhouse的支持 |
2019 | 可用 | x |
2021 | 绘图区空白 | jdbc |
2023 | 无数据源 | jdbc |
2024 | 无数据源 | odbc |
二、连接clickhouse
Tableau 2021/2023版安装clickhouse组件
安装Tableau Desktop
Clickhouse JDBC Driver 下载 Clickhouse JDBC Driver (版本0.4.6需要) ,并将 Clickhouse-JDBC-0.4.6-shaded.jar 放置到:
- macOS:
~/Library/Tableau/Drivers
- Windows:
C:\Program Files\Tableau\Drivers
- 如果文件夹不存在,则需要创建该文件夹
- 下载最新的 clickhouse-jdbc.taco Releases , 放到:
- macOS:
~/Documents/My Tableau Repository/Connectors
- Windows:
C:\Users\[Windows User]\Documents\My Tableau Repository\Connectors
如果是中文的路径:
C:\Users\[用户名]\Documents\我的 Tableau 存储库\连接器- 运行 Tableau Desktop
- 在Tableau Desktop里: Connect ➔ To a Server ➔ ClickHouse JDBC by ClickHouse, Inc.
- 如果是中文的:连接 - 到服务器 - 更多 - ClickHouse JDBC x Clickhouse
来源:
完成以上步骤,在数据源部分应该就出现了clickhouse的选项了,填入相关的clickhouse认证信息,注意端口是8123.
添加成功后就可以在左侧选择数据库,选择数据库后,会自动加载所有的数据表。
Tableau 2024版安装clickhouse组件
2024版本更加简单一些,可以在连接 - 到服务器 - 更多 直接搜索到clickhouse版本的,根据其附带的连接即可下载并安装相关的odbc组件,然后重启tableau即可使用。
下载最新版安装即可:Releases · ClickHouse/clickhouse-odbc (github.com)
在导入数据表的时候,建议加载统计表或者对应的物化视图,而不是直接加原始数据表。因为tableau可能会一次性读出所有数据,如果数据量太大会导致clickhouse吃不消,加载时间也长。
使用差别
2021对clickhouse支持的相对粗糙。2023和2024增加了字段类型选择的支持,在数据源页面,在字段类型上右键选择类型:
三、数据分析
1. 图形分析示例
网上可以找到很多tableau的教程。并且就算不使用教程,自己也能摸索出来很多的用法。这里不在赘述通用的教程使用方法,而只介绍一下我分析用到的使用技巧。大多数都是拖拽选择,即使不懂编程也能绘制漂亮的图表。
一个很常用到的就是双轴图。当添加了第二个线图,在字段上右键就会出现双轴的选项,这对出入流量、GET/POST等对比很有用:
2. 一些小技巧
以下是一些字段处理技巧
a. timestamp转换为日期格式
1. 字段转化为维度
2. 右键-创建计算字段
毫秒的
DATEADD('second',INT([timestamp]/1000), #1970-01-01#)
秒的没有除以1000
DATEADD('second',INT([timestamp]), #1970-01-01#)
b. ch的Map字段获值取值
创建一个字段计算以获取统计结果Map里的某个字段的: RAWSQL_INT("xxxMap['Key']")
相应的还有一堆其他类型的RAWSQL_XXX
c. 字符串正则替换
替换其中的数字为#
REGEXP_REPLACE([url], '\d+', '#' )
d. 匹配URL的静态资源(也可以用于计数)
REGEXP_MATCH([url],'\.(png|jpeg|jpg|rar|zip|gif|mov|mp3|mp4|wav|pdf|doc|docx|woff|woff2|svg|ttf|avi|mkv|flac|tar|gz|7z|bak)')
计数的:
sum(float(REGEXP_MATCH([url],'\.(png|jpeg|jpg|rar|zip|gif|mov|mp3|mp4|wav|pdf|doc|docx|woff|woff2|svg|ttf|font|avi|mkv|flac|tar|gz|7z|bak)')))
e. 数据解释
当发现一些数据异常的时候,可以使用数据解释功能,虽然会很慢。
数据解释可以发现显著影响的特征值,例如这里左侧显示了“香港”在所有类别中的占比比较低不到10%,但在这个类别中占比比较高60%+。右侧显示了除了“香港”的剩余位置,在所有中的占比比较低30%+,在整体中占比90%+。解释道这种程度,基本上就知道为什么数据异常了。
总结
整体来说使用tableau的体感较好,分析速度快,可定制性也很高。但不足的是桌面版,只能在本地使用,团队协作不太方便。而如果涉及到数据隐私,显然发布到服务器上更不可能了。所以tableau更多是用于本地分析,作为一个辅助分析工具。还有一个选择就是使用开源的。下次将介绍superset的简单使用,可以私有部署,并且功能同样很强大。