在大数据领域大概有四个大的工作方向,除了大数据平台应用及开发、大数据分析与应用和大数据平台集成与运维之外,还有大数据平台架构与研发,除了以上四个大的工作方向之外,还有一个工作方向是大数据技术推广和培训,这部分工作目前也有不少人在从事。
大数据平台架构与研发主要的工作内容是研发底层的大数据平台,这部分工作的难度较高,从事这部分工作的研发级岗位也并不多。现在不少技术研发团队都以Hadoop、Spark平台为基础进行研发,这样能够节省大量的时间,也更容易做出市场接受度比较高的大数据平台(商用较多)。
大数据平台应用开发是目前一个就业的热门方向,一方面是大数据开发的场景众多,另一方面是难度并不高,能够接纳的从业人数也非常多。大数据开发主要是满足企业在大数据平台上的应用开发,与场景有密切的关系。大数据开发是在大数据平台基础之上的开发,充分利用大数据平台提供的功能来满足企业的实际需求。
大数据分析是大数据应用的一个重点,甚至可以说是大数据的核心内容。大数据分析是基于大数据平台提供的功能进行具体的数据分析,数据分析与场景有密切的关系,比如出行大数据分析、营销大数据分析、金融大数据分析等等。目前采用机器学习的方式进行大数据分析是一个趋势,机器学习的步骤包括数据收集、算法设计、训练算法、验证算法和使用算法,所以算法在数据分析中起到了重要的作用,做数据分析工作要有一定的算法基础。
大数据运维主要从事大数据平台的软硬件集成和运维工作,主要的工作内容是完成大数据平台的部署和调试等相关工作,这部分工作岗位也比较多,企业往往需要有一个专门的运维团队来保障大数据平台的平稳运行。相对来说,这部分工作的难度小一些,但是需要掌握的内容也比较多,包括网络、服务器等软硬件知识。
作为一名软件开发工程师,我现在从事的就是大数据方向,结合我个人的经验,这三个岗位具体哪个好,要看你从什么角度去看他。如果你现在是一名Java开发工程师,想转型到大数据领域,那么大数据开发工程师会更适合你。如果你不喜欢开发,同时比较喜欢分析数据中的价值,希望从事商业智能分析相关工作,那么大数据分析会更适合你。如果你不是很喜欢写代码,同时对大数据分析也不是很感兴趣,而自己在Linux系统和脚本编写方面有一定基础,那么大数据运维可能会更适合你。
大数据开发岗位在进行细分,还会有大数据平台开发、大数据组件开发、数据研发(ETL)。这几个方位主要工作内容各有差异,侧重点不同。大数据平台开发,顾名思义,开发数据平台给其他开发同学使用,大数据平台底层是大数据组件,上层则是业务开发同学,你开发的平台提供用户使用大数据组件的能力。大数据平台一般使用Java语言开发,会使用到 Spring 、Spring Boot快速开发出后端供前段进行使用。数据库一般会使用Mysql,同时也会使用到Mybats,Dubbo接口等等。
大数据组件开发,主要工作更偏向于组件底层开发,你需要结合公司业务特征,定制化的在公司所使用的大数据组件上开发新功能、优化、以及BUG修复等。大数据组件开发同学需要对使用的组件底层原理要有很深的了解,同时也对其源码要有一定的研究,这样,你才能够放心大胆在上面进行开发而不会影响到线上业务的运行。
我直接来排个序吧:大数据开发>大数据分析>大数据运维,薪资也是这样。
其实,你不必纠结,直接把大数据3个字去掉,开发、分析、运维,谁好谁差,一目了然。
大数据开发,我最新的视频里讲到了,其实就是数据库,数据仓库,报表系统这些,写好sql和java就行,并不是所有人都得去弄hadoop、storm、flink、spark这些的,就像我视频里说的,做好报表,做好sql,多熟悉业务,比什么都强。
来看看岗位描述吧:
您好我是 数据僧。
首先,工作本身没有好坏之分,只有门槛高低之别。大数据开发、大数据分析、大数据运维都围绕着大数据展开。如果我们把大数据去掉,就只剩下,开发,分析,运维。当然还有其它的工作,例如运营,产品,讲师,测试等。 加上了大数据,只是我们的工作内容,或者说是工作方式发生了变化。
大数据是传统行业,传统技术逐步发展的产物。但是并没有打破我们在传统行业的工作模式,和我们的一些基础知识的储备。革新的只有处理技术,工作手段。在这里我们更详细的说说大数据开发、大数据分析、大数据运维 的工作内容,已经门槛,不做好坏评价。
这三个角色在我们公司分别对应着三个部门,承担的职责也各有不同,还算理解得比较透彻,简单谈一谈。
大数据开发
主要基于大数据平台开展批量作业、实时接口等大数据应用的开发和测试工作,对能力的要求是熟悉Spark、Flink等大数据框架,熟悉SQL,熟悉软件开发测试规范,能够根据业务需要完成业务逻辑的编写。
大数据分析
利用大数据平台、机器学习建模平台、BI平台等开展生产数据的分析和数据建模工作,挖掘数据中存在的业务价值,主要交付物是业务分析报告、各类名单、业务模型等。对能力的要求是:具备数据分析的思维,熟悉SQL,熟悉机器学习建模逻辑,熟悉Python/SAS等开发工具,具备一定的文字能力。
大数据运维
开展大数据平台的日常运维工作,包括批量作业、接口的上线和运行监控,平台的硬件资源监控,用户和平台资源的分配,平台和作业问题的分析和处置,数据的迁移,平台的扩容,业务数据查询提取变更等,一句话就是保障平台及数据的可用。对能力的要求是:熟悉Hadoop组件,熟悉Linux,熟悉SQL。
三者关系与区别
从上面的介绍可以看出,这三者的区别是很明显的,要求也各有不同。
大数据开发:
主要是负责大数据挖掘,大数据清洗处理,大数据建模等工作,主要是负责大规模数据的处理和应用,工作主要以开发为主,与大数据可视化分析工程师相互配合,从数据中挖掘出价值,为企业业务发展提供支持。
大数据分析:
进行行业数据搜集、整理、分析,并依据数据做出行业研究、评估和预测;
主要工作有四类:
主要的工作是为了给人民、社会、大自然、地球服务。好与坏因对象而有不一,就好比当下年轻人玩的一款“王者荣耀”,玩家都说好,而没碰过的就觉得这是一款烂游戏,因为身边的人都把大部分时间花在它身上了!
大数据运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。
一个互联网产品的生成一般经历的过程是:产品经理(product manager,非技术部)需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。一般来讲国内的互联网运维负责软件测试交付后的发布和管理,其核心目标是将交付的业务软件和硬件基础设施高效合理的整合,转换为可持续提供高质量服务的产品,同时最大限度降低服务运行的成本,保障服务运行的安全。