“大数据”这个词,大家都已经不陌生了,已经从一个新兴的词汇变成了一个百姓茶余饭后都会聊到的概念。各种大大小小的互联网公司也都会创建自己的大数据团队,我也曾经在多家公司从事过大数据领域的开发和团队管理工作,这里写一下我自己的经历和感受。
公司一般什么时候需要大数据团队?
大数据团队与前端、安卓、运维、测试这些团队不同,不是公司一开始就必须有的团队。公司在创业初期,往往不重视、或者说不需要重视数据,业务、产品、功能以及市场资源才是最重要的。
当公司的产品可以在市场上站稳,这之后的几个月到几年时间,随着用户量的增加,数据的量也慢慢上来了。这时候老板们就会开始重视数据带来的价值,希望从数据中发现产品的不足、运营的方向甚至一些新的机会点。
有人说,数据量大了才会需要大数据,这显然是一个外行的错误观念。更为准确的说法是,在公司有了数据意识的时候就会需要大数据。也不能排除这样的情况:有一些非常优秀的创业者,创业初期就不是从0开始的,而是带着资源、带着团队、带着项目出来创业的,依据他们项目的成熟度,有可能一开始就会需要大数据团队。
当然,我也遇到过个别的公司,他们在引入大数据团队的时候其实并没有给大数据团队一个清晰的定位,没有想清楚未来3、5年期望大数据团队实现什么样的成就。只是想在对外宣传的时候,号称自己公司有“大数据团队”而已。求职者在应聘时,务必区分清楚这类公司,以免进入公司之后才发现这其实是一个被边缘化的团队。
大数据团队组织架构V1.0
1.0阶段的核心,是数据分析。
背景
大数据团队一开始存在的意义,往往就是为公司高层或业务部门提供数据的分析和支持。在组建大数据团队之前,数据的提取和分析都是由后端开发工程师直接从线上数据库上捞取。稍微靠谱一点儿的开发团队,则会专门备份出一个只读库、专门用作数据的分析统计,以免直接在线上环境操作数据造成的数据库压力过大,影响了线上用户的正常使用,得不偿失。
开发直接做数据分析的好处,是线上的数据结构和代码逻辑都是开发自己设计的,减少了大量的沟通成本和学习成本,效率高。在初期数据量不大的时候,这种做法无疑是最合适的。
相应的坏处则是:
- 开发对于数据并不专业,更容易陷入到自己的逻辑中,察觉不出问题;
- 创业早期的开发,工作量一般都是巨大的,不会有太多时间“转换脑子”来做数据分析;
- 开发做的数据分析往往无法形成体系化,来一个、做一个,导致后边越来越混乱;
选择
这种时候,公司一般有两种选择:
- 引入第三方成熟的数据服务商;
- 自己建立大数据团队;
两种选择都各有利弊。
我遇到比较多的情况是,一开始选择了第三方成熟的数据服务商,但是过了半年左右会发现,数据服务商们的解决方案都是“通用的”,但公司往往需要大量的“个性化的”数据。于是,会开始组建自己的大数据团队。
如上文所说,组建大数据团队之前,公司一定要想清楚大数据团队的定位。一个团队的存在,一定不能只是为了解决眼前的几个问题、解决完就抛弃掉的,一定要有一个长远的意义和方向。
人员需求
如上图,在确定自己组建大数据团队之后,团队建立初期往往需要两类人:
数仓开发工程师。
- 任职要求关键词:Hive/MaxCompute/Spark、数据仓库、DataX/Kettle、Zeus/Airflow/Azkaban
- 岗位职责:数据仓库的搭建与维护,临时需求的开发等等
- 我的理解:传统的数仓,都是直接使用mysql或者oracle、单独创建一个从库专门作为数据仓库。但大数据时代的数据仓库的技术选型,喜欢开源的会使用Hive/Spark、喜欢阿里云的会使用MaxCompute,所以这个职位的要求也是必须要精通这类产品的使用,并且掌握数据仓库的设计理念(Inmon、Kimball、宽表、星型模型、雪花模型等等诸如此类的关键词)。使用的规律一般是每天业务闲时(一般是凌晨)从线上数据库全量或增量同步数据到数仓中,在数仓中进行多层复杂的清洗和计算,最终将结果数据导出或同步到其他的数据存储当中用于展示。数仓开发工程师的主要工作内容,就是将这一套自动化的流程实现,而这一套流程中少不了“数据同步”、“任务调度平台”等软件的支持。
数据分析师。
- 任职要求关键词:QuickBI/PowerBI/FineReport、Excel/PPT
- 岗位职责:BI可视化报表的开发与维护、数据指标体系的构建等等
- 我的理解:上面说的数仓开发工程师,其实更接近于开发,所做的工作也都是数据的开发。有“开发”,就要有“产品”,这是亘古不变的真理。在大数据这一领域的产品经理,其实就是数据分析师。他们主动从业务中发现机会和问题,提出需求,整理数据,绘制BI报表或数据分析报告,为老板和业务部门提供数据支持,也是业务部门与开发对接的桥梁。相比数仓开发,少了一些技术意识、多了一些产品意识。
当然,很多公司为了节省人力资源成本,往往会把这两个岗位合并成一个,要求这个人既会数仓开发、又要有产品意识、还得能把BI报表平台输出出来。
大数据团队工作成果V1.0
- 离线计算平台:提供T+1的离线数据的计算、可灵活接入新增的业务
- BI报表平台:提供数据指标的可视化展示平台
总结
第一阶段,是输出成果最快、最容易的阶段。
借助阿里云成熟的大数据解决方案,可以在一周之内完成整套流程的建设、并输出包含有数十个指标的BI平台的建设。
使用开源软件则会偏慢,初期的系统搭建、环境配置等需要耗费大量的时间。如果没有足够有经验的人带队,很可能2、3个月乃至更久的时间没有成果的输出。而这一阶段恰好需要大量的钱来购买高配的机器、招募高薪的人员,如果公司对大数据团队没有足够的耐心,甚至可能因此导致整个团队的解散。