大数据开发和java开发(java大数据开发需要掌握什么)

基本上每个大厂里面都有独立于业务、产品、研发部门的大数据开发团队,我们一般管他们叫BI,BI团队的工作职责有很多,但首先得收集数据,并进行建模。

数据来源于公司面向用户或者客户的产品。用户使用淘宝购物、使用支付宝付款、使用微信聊天、使用抖音刷视频、使用头条看新闻,客户使用钉钉或企业微信聊天时,会浏览、点击、购买、支付、评论,想想每个产品每天都有几亿的用户在使用,每一个行业都会被软件工程师收集、存储,这会产生大量的数据。

这些数据五花八门,举几个例子:
1、手机淘宝的用户XXX在618会场点击了XXX商品,进入商品详情页,浏览了XXX秒之后下了单。
2、抖音用户XXX在社会热点频道点击播放了XXX小视频,播放了80%后退出,并给视频点了赞。
3、微信用户XXX早上8点钟第一次进入微信,先是在首页停留了10秒钟,接下来进入了朋友圈,浏览了100条信息,然后退出。

软件工程师在收集这些数据时会把当时的上下文信息全部一起采集,这会让数据中的信息量很丰富,但同时也杂乱无章,有的甚至因为软件系统问题而夹杂了无关的信息。BI的工作就是将这些数据中的无关信息清洗掉,将有效信息按不同业务进行建模。像上面的那些日志,经过BI的处理之后,会形成一张张结构化的数据表,用户购买行为表、用户观看行为表、用户互动行为表等。

有了这些最基础的,以业务为单元的数据表之后,就可以在上面进行数据开发工作了。一般BI团队支撑的场景有两大类:

第一,面向决策人员提供数据分析服务。主要是公司管理层、各业务部门主管等。CEO可能是以月为单位关注公司的现金流、用户数等核心指标;业务部门主管可能是以周为维度关注自己所负责业务的核心指标,比如,淘宝的用户浏览商品量、点击转化、加购转化、下单转化、支付转化、退款退货率等等,抖音用户的每天打开次数、视频播放量、播放时长、视频互动次数、视频分享量等。

第二,日常业务项目支持。公司内日常的很多项目都需要用到BI支持,比如微信要新上一个“拍了拍”功能,在产品设计阶段就会给BI提数据需求,提出要统计的数据,像“拍了拍”上线之后的用户使用量、使用次数、群聊场景使用量、单聊使用量、各地理区域在使用上的差别分析等。软件工程师在开发产品时会做数据收集功能,等产品上线时,BI就要把收集回来的数据做清洗、建模,然后形成报表供产品经理分析这个功能是否达到了预期的效果。

现在做事情都讲究数据驱动决策,但BI在公司内的配比并不高,可能一个几百号人的开发团队才配置几个BI,更何况BI还要为优先更高的管理层、业务主管等服务。这就导致在基层做项目时BI资源往往十分紧缺,给他们提数据需求时响应特别慢。所以大家就各显神通。

一般情况下,只要不是处理起来特别复杂的数据需求,参与项目的软件开发工程师自己就把数据分析工作给干了。数据的清洗、建模说起来高大上,真正落地时就是写大量的SQL。软件工程师自己申请一下数据平台的权限,自己上去开发SQL跑一跑就出来了。
我自己以后就经常干这种事。我是个创业业务,数据量不大,每天几十万条数据而已,BI最不愿意支持这种业务了,数据量小、而作为独立业务需求量一点也不少,他们不容易出成绩。我以前说过,数据规模越大,越容易从数据角度发挥出价值来。既然BI不支持,那我就自己搞喽,申请数据平台权限,自己清洗数据,自己建模,自己做报表。

基层的运营岗位除了看一些比较固定的分析报表外,也往往会有很多个性化的需求。比如,抖音的日活跃用户数、视频播放平均时长等常用指标,BI肯定会做报表的,大家都会有的通用需求嘛。但个性化的需求量就很大了,今天你提一个,明天他提一个,关键BI给做出来之后可能你就瞅几天就不用了,这种需求BI就很容易拒接。
这种情况下,就有些强悍的运营人员自己申请数据平台权限去写SQL了,按照自己的需求随意分析。所以你看,只要在IT圈中,不管你以后要从事什么工种,多点几个技能树总是没有坏处的。

说到这里,可能有人很好奇,既然BI这么紧缺,公司为什么不多配一些?这不正是我们大数据专业学生的机会么?
错!
首先,公司做事会永远让基层保持饥饿状态,就是资源往往很紧缺,但又不会造成太大的影响,这样才能让大家卷起来,更大程度上挖掘自己的潜力嘛。
再次,在整个业务的链路中,BI可以提供的价值很薄弱。就像我在上面讲到的,除了建模这件事,软件工程师不经常做会有点生之外,其它都是软件工程师能搞定的。
最后,如果你选择了一个没有站在业务核心价值环节上的岗位,你的待遇、就业选择空间、发展空间就会比较小。就拿BI来说,最起码中型以上的公司才会设置这个岗位。

这里再提一个八卦:大厂中,BI和算法经常会打架。
我们刚才提到,BI的工作中,除了数据建模之外,其它的都是可被软件工程师轻易替代的。那数据建模还有哪个岗位比较强悍呢?当然是算法了!如果你是个创新业务还没有多少业务量,那你去提需求的时候,BI和算法当然都不搭理你,但如果你是核心业务,需要建模,然后工程化做出一些类似智能推荐之类产品的时候,那数据和算法就会一拥而上互相撕了。
当然,涉及到建模,作为软件工程师,我认为还是算法比较专业的,至于其它的常规数据处理工作嘛,软件工程师自己也能搞定的。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.yiheng8.com/156932.html