数据分析(DA:Data Analysis)和数据开发/数据仓库工程师(DE:Data Extraction)究竟有什么区别,工作职责和工作内容上的差异是什么?
一般都知道,数开偏开发,主要是技术层面的工作,负责ETL、数仓、分布式计算、大数据运维等。数据分析偏业务,通过分析数据、建模、搭建指标体系,找出规律,给业务赋能。
数开通常负责一个业务整个数据体系的构建,也就是传说中的“数据仓库”,这个仓库中既有最底层的明细数据表,也有一层一层做过计算和组合的聚合数据表。
数据分析师在日常工作中,经常会使用各种聚合表做一些简单的可视化或更复杂的分析,来监控业务的核心指标或者获取一些结论来支持决策。而这些日常被使用的数据表其实都是由数仓工程师建设好的,它们是非常规整的行列数据,在相应的可视化工具中,使用者只需要通过简单的拖、拉、拽就可以实现快速地分析。
但数分这些被使用的数据表就像海平面露出的冰山一角一样,分析师通常情况下只需要关注海面之上的部分,在海平面之下是冰山的基础,就是我们所说的数仓体系,这一部分由数据开发同学帮忙构建并维护。
就拿短视频app的数据分析举例,如果你想监控每天用户的点赞行为,从最底层的数据表中,获取到全部的某人在某个时间对某个视频做了某个动作”这样的记录肯定可以实现你的目的。
但是更合理的做法是:
说明:
当然实际工作中肯定没有这么简单,如果只是做每日点赞数的可视化,那其实完全不需要数据分析师
数仓同学做完这些表自己也能操作可视化软件画图并直接交付,没必要中间过一道分析师。
所以实际上,分析师和数仓的合作模式是,分析师会根据自己指标监控或者专题分析的需求,构思自己需要的数据或指标,这些数据或指标肯定不只是简单的点赞数,可能会是不同画像的用户对不同类型视频的点赞行为,这种行为可能反映出不同种类的用户对不同种类视频的偏好。
随后,分析师将自己想要获取的数据或指标提需求给数仓同学,数仓同学负责后续的数据收集、整理、清洗、聚合这一整个过程。
很多情况下,在拥有非常完整的数据仓库后,分析师想要的数据基本上由数仓同学从仓库中随时抽取、组合在一起,就能快速支持相应的分析。
因此这样看下来,数据分析师和数据仓库工程师非常像是相爱相杀的产品经理和研发。前者负责提需求,后者负责承接需求并送上一个白眼。
总结:
二者一起合力成为一个业务的驱动轮--数据驱动。