参加大数据培训
一定先上数外网

BI、数据仓库、ETL、大数据开发工程师有什么区别?小白也能听得懂得解释

BI 工程师 、数据仓库 工程师 、ETL工程师 、大数据开发工程师都与数据相关,他们主要职责是什么有什么区别?

BI: 商业智能(Business Intelligence,简称:BI) ,又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。

BI工程师主要职责:

主要是报表开发,需要有一定的数据库经验,掌握SQL查询优化方法,精通Oracle、SQL Server、MySQL等主流数据库的应用设计、性能调优及存储过程的开发。掌握BI相关工具,如ETL工具(如SSIS)、OLAP工具(如SSAS)和前端展示工具。熟悉ETL逻辑、OLAP设计和数据挖掘相关算法。

数据仓库: 英文 Data Warehouse , 简称DW或DWH , 是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 详见:什么是数据仓库?数据仓库有哪些特点?小白都能听得懂的解释

数据仓库工程师主要职责:

1.参与数据平台的设计和开发工作;

2.参与数据仓库,ETL,报表,业务分析系统的开发工作;

3.制定ETL相关的设计方案和开发计划;

4.负责数据仓库的模型的标准制定;

5.数据仓库系统日常管理与维护。

ETL:是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

ETL工程师主要职责:

ETL工程师是从事系统编程、数据库编程与设计,要掌握各种常用的编程语言的专业技术人员。也叫数据库工程师。

1、海量数据的ETL开发,抽取成各种数据需求。

2、参与数据仓库架构的设计及开发 。

3、参与数据仓库ETL流程优化及解决ETL相关技术问题。

4、熟悉主流数据库技术,如oracle、Sql server、PostgeSQL等。

5、精通etl架构,有一定的etl开发经验,了解日常作业的部署和调度。

6、会数据etl开发工具,如Datastage,Congos,Kettle等。

大数据开发从大数据采集、清洗、存储、 数据处理到可视化的过程。

大数据开发工程师的主要职责:

1、负责异构数据系统和大数据平台的集成与融合;

2、负责数据挖掘算法的设计及对海量数据进行挖掘分析;

3、负责分布式数据仓库平台、海量数据批处理平台、实时数据处理平台等系统开发;

4、参与海量数据处理,业务数据体系的设计、数据统计、分析及数据建模;

5、参与数据平台各系统的性能分析与系统优化,不断提高系统运行效率;

大数据开发工程师对个人技术要求偏高,需要从业者具备java开发能力,还得具备大数据技术能力,如hadoop、hive、hase、flume、storm、kafka、spark等,是一个非常庞大的技术集群。

还有大神从不同角色来解释了这个岗位之间的区别,如下:

1

一味的解释数据仓库概念可能没意思,我们从不同角色出发吧 。

老板 :我是一家手机公司的老板,今天要向去董事局汇报,我要准备一份介绍过去三年的用户增长、用户留存、用户活跃度、手机里面每个APP使用率等情况的报表,假如下面没我下面没有BI,那我肯定就蒙逼了。。

BI :我是一名非技术BI,我天天看竞品的分析报告,看双十一销量,看各种评论,知道自己的产品有哪些短板有哪些长处,我分析南北地域差异,国内外客户喜好,总之我在手机领域有着很强的行业解读能力和数据解读能力,我可以画出非常漂亮的图表和PPT。今天老板让我出一份报表,我还要去刷脸找ETL工程师帮我跑出这次报告的数据,基于这份数据我要给出一定的解读,为啥这个月手机卖得不如上个月,为啥用户流失越来越严重等等都是我要去做的。

ETL工程师 :我是食物链最底层的苦逼ETL工程师,我会写shell、我会搭hadoop/hive/hbase、会写超复杂逻辑的sql,今天那个不会自己计算数据的BI又让我跑几个数据,我本想让她提需求流程的,但她说这是老板要的(运营惯用的杀手锏!!!),要加急处理,我只能放下手头的活儿给她跑数据了,花了半个小时把数据跑好给她,希望能就这么交差吧。

大数据工程师,就是我们所知的大数据开发工程师,主要从事大数据平台的搭建,对个人技术要求偏高,需要从业者具备java基础,还得具备以下技术能力,hadoop、hive、hase、flume、storm、kafka、spark等,是一个非常庞大的技术集群。

如果你以为我每天就做这点事那你就错了,我平时的工作可不仅仅就是完成上面交给我的任务哦,我还负责数据ETL过程、数据建模、定时任务的分配、甚至有时Hadoop集群的维护等等都得我去做,每件事单独拿出来都可以拿出来写本书。

就拿ETL过程来说吧,你要把原始数据从各种数据库、各种服务器的不同业务日志归一化到同一类格式,要约定好分隔符,然后导入到分布式文件系统HDFS,甚至你还要和业务系统定义数据格式出规范,数据收集完,你还得出中间表,数据过滤,格式统一,ID统一,维度统一,通过不同的数据现象进行数据,完了,你就得出一些日报周报之类的数据了,这时候你要按照需求把数据组织成一定的格式然后导Mysql、或者HBASE等等。

总之你就是需要把数据各种收集、各种处理、然后各种导入导出,是不是很有意思?

2

不过这些数据仓库都非常初级,其中ETL工程师可发挥的空间太多了

1、正常情况下,老板 —> BI —> ETL 出一份报告,这中间能否BI直接去计算数据?sql太复杂,那么可不可以一切数据标签化,BI甚至老板要什么就选什么?

2、ETL工程师可以把数据收集自动化、可以规范业务日志格式、可以将一切都配置化,但是这些都是基于N+1的,也就是说今天的发生了什么一定要到明天才能看到,那么有没有一个系统能把数据分析做到实时或者准实时?参考双十一大屏,马总要是到12号才能知道成交了多少笔不劈了那帮做数据的才怪。

3、目前绝大部分分析系统都基于离线计算(HADOOP/ODPS),那这里有个问题了,运营或BI想看个数据还得你离线慢腾腾跑完才能看到,那么有没有一个系统可以支持你再大的数据量,再复杂的逻辑,毫秒出数据?

我没有提到的还有算法工程师、大数据运维工程师等等。

3

数据仓库的概念很广很大,但在大数据应用面前也不值一提。

如果把数据价值分层,这里分层的办法很多,我只列举一种方法,有人分过5层

第一层:为老板提供决策支持,例如传统的财务报表

第二层:为运营提供决策支持,例如数据化非常彻底的淘宝运营们

第三层:为产品提供支持,例如有产品经理们会拿着报表天天看研究自己的某一个按钮摆放位置对不对

第四层:数据用于生产,比如直接对接广告系统产生收益,比如直接对接推荐系统为用户推荐商品,实现千人千面,再比如利用手机APP直接为不同用户push消息

第五层:大数据交换,数据产生直接受益

大部分公司能做到前两个层次就已经很不错了,如果能做到第三层,就已经很牛逼,做到第四第五层次,国内互联网公司不超过2家,大数据应用太大了,不知从何说起,以后聊吧。

赞(0)
未经允许不得转载:数外网 » BI、数据仓库、ETL、大数据开发工程师有什么区别?小白也能听得懂得解释
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

不要轻易参加大数据培训 有疑惑 先上数外网

疑惑在线解答