你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2016-07-19] 来源:知乎每日精华  作者:亘古 [字体: ]

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

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

大数据

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

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

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

  就拿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家,大数据应用太大了,不知从何说起,以后聊吧。





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款