大数据学习

BI工程师、数据仓库工程师、ETL工程师、数据开发工程师(大数据

2019-08-26  本文已影响1人  6816ee4e9ca0

BI 工程师、数据仓库工程师、ETL 工程师、数据开发工程师 在大型公司里面分工还是比较分开的。

BI 工程师:一般负责开发企业内部报表,主要根据产品技术选型的问题,他们操作的软件不一样。比如说 Microstrategy,Tableau 等等。

ETL 工程师:负责数据的抽取,转化和传输,一般这个部门在企业里面负责数据的转化,以前数据仓库时代是 SQL 为主和 ETL 工具为辅。现在非结构性质的系统比如说 Hadoop 等等,他们脚本语言的能力需要很强。

EDW 工程师:他们一般维护表的结构,管理系统的 performance,整个数据仓库逻辑层物理层以及 admin 层面的管理。更倾向于管理 DW 和开发核心功能,不像 ETL 工程师相对偏业务逻辑。

GrowingIO 主要针对用户的 App 或者网站行为做精细化分析,不用在产品里面部署大量的埋点,GrowingIO 能够帮助运营提高效率,实际上是上面各种工程之间的一种集合。帮助企业了解运营效率,提高产品体验,加快增长速度。

数据开发工程师是个非常泛的概念,我理解有类工程师开发广告数据产品,搜索产品,推荐系统等等。

这些角色划分的界限本身就很模糊,一个人甚至可以同时扮演全部这些角色。

首先说说数据仓库系统构建过程中一些主要的环节:

1. 数据收集

2. ETL

3. 报表系统的开发

4. 基础技术环境的构建、维护

5. 算法、数据挖掘

6. 类似于AB测试系统各个数据应用系统的开发

7. 数据安全、备份

基本上1,3 ,4 ,6,7项工作是属于工程属性比较强的工作,2,5项属于工程和领域知识有交叉的工作。

1. 数据收集。一个完善的收集系统,不仅要搭建成数据收集的管道,还需要对数据收集过程本身做好监控,对数据收集过程中出现的问题及时知晓、及时处理。

2. ETL,将收集过来的数据进行清洗、转换,在此过程中形成数据仓库的层次化结构。这个环节需要一个根据具体的业务需要,通过ETL过程形成数据仓库的层次化体系结构以及抽象概念系统,以便于后续的报表开发和数据分析、数据挖掘。

3. 报表系统开发。技术上需要一个开发工程师来做,需求上需要一个熟悉业务的人来定。报表系统的内容会随时间、随业务不断演化,因此设计上也需要适应这种演化。

4. 基础技术环境的构建、维护。负责底层数据存储、计算框架的设计和维护,建立起存储和计算的层次结构,比如最活跃的数据可以放在性能较高的设备上,而旧的数据可以放在几台专门的归档服务器上;计算上,大型的数据转换任务可以交给MapReduce来做,而基于小数据量计算的报表指标就可以使用性能较高的内存计算来做,比如Presto。

5. 算法、数据挖掘。在ETL结果之上进行数据分析、数据挖掘任务。工作过程中可能需要一些新的数据,这就需要和数据收集、ETL相关的人员进行沟通,以达成工作目标。

6. 类似于AB测试系统各个数据应用系统的开发。数据分析、数据挖掘的结果需要应用到产品的优化上,而数据的应用系统就是要打倒这个目的的。这些系统仅仅作为桥梁存在,主要就是要保证性能达标、以及逻辑正确。这个环节与数据收集阶段结合,就生成一个数据系统闭环。

7. 数据安全、备份。非常重要的工作,数据的访问权限限制、数据的冗余备份机制,都要逐步建立起来,灾难恢复机制要经常进行测试,做好最后一道防线。

根据工作量和具体需求,工程性工作大概需要1到3三个有相关经验的工程师即可,而需要领域知识和熟悉业务的工作,大概也需要1到2人。至于人要挂什么title,看着来吧!

Update: 随着业界的不断发展,和对数据认识深度不断地提升的客观需求,一些机器学习相关的知识也应该纳入到日常的工作内容中了,其中特征工程是一项基本的技能。

上一篇下一篇

猜你喜欢

热点阅读