数据分析和数据开发的区别 - 初始

Posted 辉常努腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析和数据开发的区别 - 初始相关的知识,希望对你有一定的参考价值。

数据分析和数据开发的区别 初始

数据分析(DA:Data Analysis)和数据开发/数据仓库工程师(DE:Data Extraction)究竟有什么区别,工作职责和工作内容上的差异是什么?

一般都知道,数开偏开发,主要是技术层面的工作,负责ETL、数仓、分布式计算、大数据运维等。数据分析偏业务,通过分析数据、建模、搭建指标体系,找出规律,给业务赋能。

  • 数开通常负责一个业务整个数据体系的构建,也就是传说中的“数据仓库”,这个仓库中既有最底层的明细数据表,也有一层一层做过计算和组合的聚合数据表。

  • 数据分析师在日常工作中,经常会使用各种聚合表做一些简单的可视化或更复杂的分析,来监控业务的核心指标或者获取一些结论来支持决策。而这些日常被使用的数据表其实都是由数仓工程师建设好的,它们是非常规整的行列数据,在相应的可视化工具中,使用者只需要通过简单的拖、拉、拽就可以实现快速地分析。

但数分这些被使用的数据表就像海平面露出的冰山一角一样,分析师通常情况下只需要关注海面之上的部分,在海平面之下是冰山的基础,就是我们所说的数仓体系,这一部分由数据开发同学帮忙构建并维护。

就拿短视频app的数据分析举例,如果你想监控每天用户的点赞行为,从最底层的数据表中,获取到全部的某人在某个时间对某个视频做了某个动作”这样的记录肯定可以实现你的目的。

但是更合理的做法是:

  1. 数据开发工程师会先从底层数据(底层数据通常是由服务器记录的非结构性数据)同步出一个最明细表,包括谁在什么时间对哪个视频以何种方式进行了点赞。
  2. 再进一步直接聚合出一张新的表,记录谁在哪一天点赞了多少次。
  3. 最后抽象出一张指标表,某一天总共有多少点赞次数。
  4. 到这里,把最后一张表交付给数据分析师,分析师去做后续的分析。

说明:

  • 当然实际工作中肯定没有这么简单,如果只是做每日点赞数的可视化,那其实完全不需要数据分析师

  • 数仓同学做完这些表自己也能操作可视化软件画图并直接交付,没必要中间过一道分析师。

  • 所以实际上,分析师和数仓的合作模式是,分析师会根据自己指标监控或者专题分析的需求,构思自己需要的数据或指标,这些数据或指标肯定不只是简单的点赞数,可能会是不同画像的用户对不同类型视频的点赞行为,这种行为可能反映出不同种类的用户对不同种类视频的偏好。

  • 随后,分析师将自己想要获取的数据或指标提需求给数仓同学,数仓同学负责后续的数据收集、整理、清洗、聚合这一整个过程。

  • 很多情况下,在拥有非常完整的数据仓库后,分析师想要的数据基本上由数仓同学从仓库中随时抽取、组合在一起,就能快速支持相应的分析。

  • 因此这样看下来,数据分析师和数据仓库工程师非常像是相爱相杀的产品经理和研发。前者负责提需求,后者负责承接需求并送上一个白眼。

总结:

  • 数据开发(包括数仓开发)建立采集、存储、计算、应用的系统,根据数据分析师的需求为业务构建一套完整的数据支撑体系,需要各类大数据组件的开发、调优,ETL脚本的编写、数仓搭建的知识。
  • 而数据分析更注重对数据的使用,依据数据开发构建的数据集市,结合实际业务,获取一些可落地的结论。需要数理统计和业务方面的知识。

二者一起合力成为一个业务的驱动轮--数据驱动。

以上是关于数据分析和数据开发的区别 - 初始的主要内容,如果未能解决你的问题,请参考以下文章

C语言中堆和栈的区别

DB还是平面文件?

数据湖和数据仓库的区别是啥?

ArrayMap 和HashMap的区别

超图球面与平面场景的区别和地理坐标系

计算几何学习4