大数据工作岗位需求分析

news2024/11/15 21:46:21

前言:随着大数据需求的增多,许多中小公司和团队也新增或扩展了大数据工作岗位;但是却对大数据要做什么和能做什么,没有深入的认识;往往是招了大数据岗位,搭建起基础能力后,就一直处于重复开发和任务运维的状态;后续大数据人员也做了其他很多工作,仿佛什么都在做,就是不知道集中精力该往哪个方向努力。本文从基础大数据开发岗开始分析,思考大数据工作细分有哪些岗位,分别需要什么能力,以此来提供大数据能力发展方向参考。

一、大数据工作岗位需求分析

1.1 大数据开发工程师

      相信很多公司和团队招聘的第一个大数据岗位就是大数据开发,然后围绕业务或项目需求,搭建大数据能力基础生态。

       从零开始的大数据开发,不光要做数据处理,还要兼职实现数据采集,处理,存储,数仓构建,任务调度,监控告警,基础运维这些工作;才能满足大数据开发工程师的生产发布环境。 基础的大数据开发工程师,就是业务和项目需求的实现;理解开源产品应用能力,知道如何基于开源软件的功能实现业务需求就行。

       从功能上划分,需要有大数据组件运维工程师,数据集成工程师,大数据开发工程师这几类,很多时候就是一两个人就都做了;

       从需求上划分,可分为离线数据开发工程师和实时开发工程师;需要掌握的技术栈有一些区别:

  • 离线大数据开发工程师的核心能力是离线数仓理论的掌握,技术栈要理解HIVE、yarn、HDFS、Spark等组件的使用规则和原理;
  • 实时大数据开发工程师需要掌握实时数仓的构建生态,处理实时数仓理论,还需要保障任务的处理性能,技术栈需要理解Kafka、Spark-Streaming、Storm、Flink、ES、CK、Doris、StarRocks等,因为面对的场景更复杂,需要掌握数据定制化处理的能力,还需要对各种组件底层架构有了解。

1.2 大数据研发工程师

       有些时候,大数据开发工程师会对类似的场景反复开发,相似需求增多后,这类工作就变成了繁琐的重复;这个时候就有一个期盼,希望类似的工作可以更简单的完成,大数据研发工程师的需求就诞生了。

       包装一些通用功能,前端页面只需要配置些参数,点击执行就可以,将之前相似场景的需求开发抽象出来,配置化实现。比如:公司使用ES作为存储系统,使用ES做历史数据处理的需求时非常不方便,时常用logstash将数据导出到kafka再做处理;大数据研发,可以基于功能包装配置化功能,把logstash的能力包装到集成页面,配置源端、目标端和选择数据时间范围,填充logstash的任务配置,驱动执行就能实现数据从ES到Kafka这样的能力;或者使用计算框架,比如Flink,将功能包装成SDK或jar包,实现功能性定制化引擎,将任务参数配置暴露出来,然后通过配置化调度,实现功能的需求开发。

1.3 大数据平台开发工程师

       将大数据开发和研发的通用能力集成到一起,就是平台工程师要做的事;平台工程师技术栈能力偏向后端,但是因为集成的是大数据场景的需求功能,所以需要到对大数据技术栈有一定的了解。

       对大数据平台定位,一些公司叫数据平台,一些叫数据中台。这是有区别的,数据平台是将大数据的应用能力集成到一起,拥有数据处理的能力,侧重于大数据应用技术能力的包装;数据中台更侧重于提供业务数据服务能力,在平台上不一定需要集成各种数据处理的功能,但是需要保障对外提供数据服务的灵活。

       大数据平台能力模块细分下来有:多源集成,处理(离线,实时),存储(结构化,半结构化,对象数据),分析,仪表盘看板(UI),数据应用,推送,数据API,数据安全,调度,任务监控,基础资源监控,租户管理,告警管理等。平台能力可以围绕这些包装或建设,一些业务中特殊高频应用的功能,可以让大数据研发工程师做定制化处理,将需求抽象出来做配置化管理。

1.4 大数据分析工程师

       这个岗位偏向于沟通和理解,技术要求不高,对人的软实力比较看重;职能通常归属运营和产品经理,但是只能基于认知,做简单的大数据分析,最终需求出来后,对数据分析的应用深度不够;一个资深的大数据分析工程师,能将数据还原成行为,并能指导大数据开发工程师去实现深层次的数据分析;比如基础的数据分析,可能提出的需求就是PV、UV这种维度统计的指标;但是数据分析工程师,能从数据模型里提取出用户之间的关联关系,或者两种行为之间的因果性可能;其主要是研究数据的,对于大数据开发与算法能提供很好的开发思路指导,以及真正价值指标的挖掘。

1.5 数据挖掘工程师

        这个岗位的技术要求和业务理解要求会更高,需要对业务理解之外,还需要有数据处理和算法挖掘的技术知识储备;能力结构偏向于分析工程师和算法能力结合的大数据工程师,其可以基于大数据平台,构建特征工程,然后基于特征工程分析潜在的关系或异常;大数据本身对数据处理是擅长的,所以一些这样的工作是建立在大数据开发工程师的特征处理之上,算法工程师再基于特征跑算法模型,大数据工程师理解算法执行原理也可以调用算法模型分析预测;这些结果可能是特征划分、异常检测、分类、聚类、智能决策等;可直接应用在面向市场业务的搜索、推荐、广告系统,或者智能运维的异常检测告警等。

1.6 大数据架构师

       随着大数据生态的不断发展,各种应用场景的产品方案鳞次栉比,使用不同的技术方案实现同样业务需求,在易用性、可用性、容错性、稳定性、资源消耗、安全性、各种性能等存在较大的差异;对于各种组件的熟悉,大数据新产品的预研,应用需求的整合与复用,这些都需要有人评估和把关,这就是大数据架构师的工作。

       大数据架构师,要对应用各个环节的的设计和实施有经验和深刻理解,比如数据采集、处理、存储、安全、分析、调度,告警等;对各种应用需求场景都熟悉,并对各种技术的应用能力和技术实现架构都有深刻的认识,能指导每种技术方案应用落地,并对各种技术方案的优势和劣势有清晰的认识,能给技术方案劣势兜底;在对应的技术架构上,现阶段市场上各种大数据产品正在快速发展阶段,要解耦应用能力,预留应用整改的口径。

二、各种大数据工作岗位技能要求

将以上大数据岗位能力需求取一个交集,大致可以分为以下几类:

2.1 技术能力

基础技术能力:

        对大数据组件的熟悉程度:如Hive、Hbase、Yarn、Spark、Flink、Redis、Kafka、Minio、ElasticSearch、ClickHouse、Doris/StarRocks、Iceberg/Hudi、dolphinscheduler等OLAP和MPP存储系统和计算引擎有生成应用和深入理解; 数据开发,研发能力;

数据管理能力:

        熟悉数仓领域知识和管理技能,包括:元数据管理、数据质量、性能调优等;对于不同的存储系统,数据建模的差异也要明白和理解;数据治理能力;大数据工程师基本能力;

功能管理能力:

       按照数据集成,数据处理,数据管理,数据开发,数据分析,任务调度,监控告警,数据安全,数据推送,租户管理等能力,集成管理功能; 数据开发、平台工程师的能力;

数据处理和应用:

       数据的ETL、开发、建模、分析,以及特征工程的数据处理,核心算法的实现,满足个性化推荐、趋势预测、异常检测、智能运维等数据应用;算法、资深数据研发的核心能力;

编程语言能力:

掌握一门或多门编程语言,如Java、Scala、Pyhron、SQL、Shell等;

数据开发工程师,数据研发工程师,平台开发工程师,数据挖掘工程师,大数据架构师是以上能力集合,掌握深度的递进;

2.2 软实力

经历相关:

       学历,本科研究生或工作年限,英语读写、交流等要求限制;

行业相关要求:

       互联网、物联网、人工智能、金融、体育、医疗、在线教育、工业、安全、交通、物流、电商等,每个具体的行业还会细分业务领域;这些相关性考量的是入职和团队的融入速度。另外,大户据开发应该比产品更懂业务,大方向上产品和领导愿景一致,但在细节上,开发要有从数据抽象业务的能力,这个能力可以让技术和应用解耦,能在不同的行业按照应用需求落地技术能力;

性格要求:

       开创性岗位侧重激情和学习热度;业务功能岗位需要稳重;和外部门沟通多的需要沟通能力;或者领导能力,抗压能力,团队精神、钻研热情等。

三、结语

       技术岗位以硬实力为主,能以大数据技术实现生产需求,并能高效和稳定的运行任务,持续产生价值,是大数据岗位的生命线;这些年大数据技术的发展是很快的,能力成长,实践和学习相辅相成,不能沉浸在业务开发里,也不能只学不落地;关注市场开源产品发展的同时,结合具体的业务,从公司需求和业务实际的情况推广应用,确保真正能解决大数据岗位需求面临的痛点问题。

       持续成长,持续进步;从技术深度上,让大数据工作更高效和合理;从应用广度上,甚至可以跨界熟悉产品、后端,算法,运维这些原理和工作,这些都会辅助大数据更好的去支撑,优化这些岗位的工作,让大数据应用能力得到更多拓展。

     最后,祝愿大家大数据技术更上一层楼,能利用大数据技术解决更多实际中的应用需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1397358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于springboot+vue的校园周边美食探索及分享平台系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

网络知识梳理:TCP与UDP

TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的互联网协议,它们都用于在网络层和传输层进行数据传输,但它们在数据传输的方式和特性上有显著的区别: 1.TCP (传输控制协议) 连接导向&…

贪心算法 ——硬币兑换、区间调度、

硬币兑换: from book:挑战程序设计竞赛 思路:优先使用大面额兑换即可 package mainimport "fmt"func main() {results : []int{}//记录每一种数额的张数A : 620B : A//备份cnts : 0 //记录至少需要多少张nums : []int{1, 5, 10, 5…

万户 ezOFFICE wf_printnum.jsp SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

vue中父组件异步传值,渲染问题

vue中父组件异步传值&#xff0c;渲染问题 父组件异步传值&#xff0c;子组件渲染不出来。有如下两种解决方法&#xff1a; 1、用v-if解决&#xff0c;当父组件有数据才渲染 <Child v-if"dataList && dataList.length > 0" :data-list"dataLis…

深度学习记录--mini-batch gradient descent

batch vs mini-batch gradient descent batch&#xff1a;段&#xff0c;块 与传统的batch梯度下降不同&#xff0c;mini-batch gradient descent将数据分成多个子集&#xff0c;分别进行处理&#xff0c;在数据量非常巨大的情况下&#xff0c;这样处理可以及时进行梯度下降&…

6. UE5 RPG AttributeSet的设置

AttributeSet 负责定义和持有属性并且管理属性的变化。开发者可以子类化UAttributeSet。在OwnerActor的构造方法中创建的AttributeSet将会自动注册到ASC。这一步必须在C中完成。 Attributes 是由 FGameplayAttributeData定义的浮点值。 Attributes能够表达从角色的生命值到角色…

【微信小程序独立开发 4】基本信息编辑

这一节完成基本信息的编辑和保存 首先完成用户头像的获取 头像选择 需要将 button 组件 open-type 的值设置为 chooseAvatar&#xff0c;当用户选择需要使用的头像之后&#xff0c;可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径。 从基础库2.24.4版本起&…

关于java的继承

关于java的继承 我们在上一篇文章中&#xff0c;了解到了封装&#xff0c;我们本篇文章来介绍一下面向对象的第二大特点&#xff0c;继承&#xff0c;还是遵循结合现实生活中的实际情况&#xff0c;理解着去学习&#xff0c;能更好的加深印象&#x1f600;。 一、继承 继承的…

使用phpunit进行接口自动化测试

年初一个偶然的机会接触到了phpunit&#xff0c;一个用PHP编程语言开发的开源软件&#xff0c;也是一个单元测试框架&#xff0c;有效利用的话可以大大提高接口遍历的效率。废话不多说&#xff0c;直接干货。 1.安装 在php的目录下 1 2 pear channel-discover pear; pear in…

Gradle——基础

1、Gradle基础 1.1、Ant/Maven/Gradle对比 无论那种项目构建工具&#xff0c;都有自身的优势和劣势&#xff0c;所以选择一款最适合项目的就是最好的&#xff01; 1.2、Gradle项目目录结构 Gradle项目默认目录结构和Maven项目的目录结构一致&#xff0c;都是基于约定大于配置…

HackTheBox - Medium - Linux - Health

Health Health 是一台中型 Linux 计算机&#xff0c;在主网页上存在 SSRF 漏洞&#xff0c;可利用该漏洞访问仅在 localhost 上可用的服务。更具体地说&#xff0c;Gogs 实例只能通过 localhost 访问&#xff0c;并且此特定版本容易受到 SQL 注入攻击。由于攻击者可以与 Gogs …

关于Windows 10的操作中心 ,看这篇文章就可以了

这篇文章介绍了Windows 10操作中心&#xff0c;也称为通知中心&#xff0c;以及如何使用它。操作中心会在需要你注意的事情时发送警报。 如何在操作中心中访问和解决通知 Windows操作中心显示为Windows任务栏右下角的发言气泡。图标下的数字表示你有未解析的通知。 通知会在…

企业微信无法正常启动 报错0xc0000142

报错内容如下&#xff0c;每次打开工作电脑时候企业微信一般会正常启动&#xff0c;但是有时候经常会出现下面这种错误&#xff0c;重启也解决不了&#xff0c;每次都得重装企业微信&#xff0c;今天整理了一下网上的方法&#xff0c;这个原因大概率是亿赛通。 解决办法&#x…

递归、搜索与回溯算法(专题六:记忆化搜索)

目录 1. 什么是记忆化搜索&#xff08;例子&#xff1a;斐波那契数&#xff09; 1.1 解法一&#xff1a;递归 1.2 解法二&#xff1a;记忆化搜索 1.2.1 记忆化搜索比递归多了什么&#xff1f; 1.2.2 提出一个问题&#xff1a;什么时候要使用记忆化搜索呢&#xff1f; 1.3 …

运维平台介绍:视频智能运维平台的视频质量诊断分析和告警中心

目 录 一、视频智能运维平台介绍 &#xff08;一&#xff09;平台概述 &#xff08;二&#xff09;结构图 &#xff08;三&#xff09;功能介绍 1、运维监控 2、视频诊断 3、巡检管理 4、告警管理 5、资产管理 6、工单管理 7、运维…

如何在Linux上部署1Panel面板并远程访问内网Web端管理界面

在Linux环境中部署1Panel面板&#xff0c;并实现安全的远程访问是一种高效管理服务器资源的方式。下面是如何实现这一目标的详细步骤。 1Panel面板的优势 易用性&#xff1a;1Panel提供了图形化的界面&#xff0c;使得非专业人士也能轻松管理服务器。 功能丰富&#xff1a;它…

3D Gaussian Splatting:论文原理分析

标题&#xff1a;3D Gaussian Splatting for Real-Time Radiance Field Rendering 作者&#xff1a;Bernhard Kerbl、Georgios Kopanas、Thomas Leimkhler和George Drettakis&#xff0c;来自法国Inria、Universit Cte dAzur和德国Max-Planck-Institut fr Informatik。 发表时…

mysql 为大表新增字段或索引

1 问题 mysql 为大表增加或增加索引等操作时&#xff0c;直接操作原表可能会因为执行超时而导致失败。解决办法如下。 2 解决办法 &#xff08;1&#xff09;建新表-复制表A 的数据结构&#xff0c;不复制数据 create table B like A; &#xff08;2&#xff09;加字段或索…

聚类算法(KMeans)模型评估方法(SSE、SC)及案例

一、概述 将相似的样本自动归到一个类别中&#xff0c;不同的相似度计算方法&#xff0c;会得到不同的聚类结果&#xff0c;常用欧式距离法&#xff1b;聚类算法的目的是在没有先验知识的情况下&#xff0c;自动发现数据集中的内在结构和模式。是无监督学习算法 二、分类 根据…