厦门Java培训
达内上海中山公园中心

13732203138

热门课程

大数据、BI、数据库工程师什么区别?

  • 时间:2018-12-06 17:10
  • 发布:转载
  • 来源:网络


大数据开发工程师、BI工程师、数据仓库工程师、ETL工程师、有什么区别?

今天我们来看一位大神如何解释。

BI,商务智能。BI工程师即为从事商务智能行业的工程师。从需求分析师到数据仓库架构师、到etl工程师、数据分析,报表开发工程师、数据挖掘工程师、etc.,都可以称之为BI工程师。

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

《一

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

老板 :我是一家手机公司的老板,今天要向去董事局汇报,我要准备一份介绍过去三年的用户增长、用户留存、用户活跃度、手机里面每个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等等。

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

《二》

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

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

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

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

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

《三》

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

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

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

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

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

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

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

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

《四》

针对评论中的一些问题做些统一的解释

问:数据交换的理念

有人提到数据交换,数据交换不是简单的我给你一点,你给我一点;也不是我给你钱,你给我点数据。

原因是这些模式基本走不通

1、数据很难定价,无法简单的将数据定义为商品,数据供给方也无法去衡量一份数据能产生多大的价值,只有在具体的应用场景中才能大概估计它的价值,因此几乎没有一种简单公平的机制去为交易双反指定交易规则。

2、数据拷贝成本几乎没有

如果是一部iPhone,如果想要造出一模一样的一部iPhone成本奇高,所以苹果公司可以放心大胆的把手机卖给你而不怕你仿制,但是数据不行,因为数据几乎没有拷贝成本。

那么带来一个问题,如果我把这份数据一百万卖给你,我几乎除了『你的诚信』之外没有任何方法去限制你不把数据折价买个其它更多第三方,那这份数据的市场价值很快荡然无存。

3、隐私

商业有很多隐私规则,用户也有很多隐私,这些都是不能简单的通过拷贝的去交换的,如果给对方一份数据,例如:用户的在某APP的浏览行为,那么如果被第三方运用在电话骚扰,广告弹窗之类的场景中,肯定是不行的。

所以数据的交易一定不是通过价格衡量,也不能简单的数据拷贝

数据交换 理想的方式应该是,双方共同拿出一些东西,然后服务于某个场景,而数据导出等行为都是被禁止的,双方不能看到对方的数据也不能导出对方的数据,可被导出的结果一定是无害、不侵犯隐私的、不对原数据价值产生影响的东西。

而这样一种数据交换的方式却需要非常大的体系建设,平台建设,制度建设。

这样的体系和平台,需要长时间的摸索和市场培育,数据人任重而道远。

上一篇:Java面试中常见的10个问题(二)
下一篇:Java毕业后的3个就业方向,你知道吗?

应届毕业生选择IT行业有“钱途”吗?

新手学习Java,谨记这10点

Java市场行情解析,这里藏着你高薪的秘籍

学Java和大数据有什么区别?

选择城市和中心
贵州省

广西省

海南省