大数据工作岗位分析

news2024/10/1 19:25:27

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

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

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/1395345.html

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

相关文章

K8S Informer机制原理解读 | 架构设计

在Kubernetes系统中,组件之间通过HTTP协议进行通信,在不依赖任何中间件的情况下需要保证消息的实时性、可靠性、顺序性等。那么Kubernetes是如何做到的呢?答案就是Informer机制。Kubernetes的其他组件都是通过client-go的Informer机制与Kuber…

Git入门详细教程

一、Git概述🎇 Git官网 Git是一个开源的分布式版本控制系统,用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作,并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作,追踪代码变更&#xf…

Linux shell编程学习笔记40:stat命令

程序员必备的面试技巧 “程序员必备的面试技巧,就像是编写一段完美的代码一样重要。在面试战场上,我们需要像忍者一样灵活,像侦探一样聪明,还要像无敌铁金刚一样坚定。只有掌握了这些技巧,我们才能在面试的舞台上闪耀…

深入探究 JavaScript 中的 String:常用方法和属性全解析(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Vision Transformer(VIT)模型介绍

计算机视觉 文章目录 计算机视觉Vision Transformer(VIT)Patch EmbeddingsHybrid ArchitectureFine-tuning and higher resolutionPyTorch实现Vision Transformer Vision Transformer(VIT) Vision Transformer(ViT&am…

算法笔记 #3

2024年1月18日 Q1:搜索二叉树 A:查找,左子树比根几点小,右子树比根大。 删除:1)搜索删除的目标节点,记录其父节点; 2)左右孩子都为空,直接删掉;…

【2023地理设计组一等奖】城市业态基因图谱与城市风格感知

作品介绍 1 设计思路 1.1 作品背景 随着城市化进程不断推进,城市的餐饮、购物、休闲和文化业态成为城市发展中的重要组成部分,深刻影响着城市经济社会发展和居民生活,塑造了城市的外在形象和内在风格,形成了各具特色的城市发展特征。因此,在区域和全国尺度上研究城市业态…

TDengine 创始人陶建辉在汽车 CIOCDO 论坛发表演讲,助力车企数字化转型

当前,汽车行业的数字化转型如火如荼。借助数字技术的充分利用,越来越多的车企进一步提升了成本优化、应用敏捷性、高度弹性和效率。这一转型使得业务应用的开发和管理模式发生了颠覆性的创新,赋予了汽车软件快速响应变化和动态调度资源的能力…

深度学习(1)--基础概念

一.计算机视觉(CV) (1).计算机视觉中图像表示为三位数组,其中三维数组中像素的值为0~255,像素的值越低表示该点越暗,像素的值越高表示该点越亮。 (2).图像表示 A*B*C,其中A,B分别为图像的长和宽,C则表示图像的颜色通道…

Spring Boot 单体应用升级 Spring Cloud 微服务

作者:刘军 Spring Cloud 是在 Spring Boot 之上构建的一套微服务生态体系,包括服务发现、配置中心、限流降级、分布式事务、异步消息等,因此通过增加依赖、注解等简单的四步即可完成 Spring Boot 应用到 Spring Cloud 升级。 *Spring Cloud …

vim 编辑器如何同时注释多行以及将多行进行空格

一、场景 YAML文件对空格的要求非常严格,因此在修改YAML时,我们可能需要批量添加空格。 二、操作步骤 请注意:您的所有操作都将以第一行为基准。也就是说,第一行有多少个空格,下面的行就会模仿添加相同数量的空格。…

一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程

1.拉取镜像 2.部署 创建目录 mkdir -p /opt/picoshare/data 部署 其中:"somesecretpass"是密码 docker run \--env "PORT4001" \--env "PS_SHARED_SECRETsomesecretpass" \--publish 10005:4001/tcp \--volume "/opt/picoshare/data:…

[Android] Android架构体系(2)

文章目录 Bionic精简对系统调用的支持:不支持 System V IPC:有限的 Pthread 功能:有限支持C:不再支持本地化和/或宽字符:Bionic新增的特性系统属性硬编码写死的UID/GID内置了DNS解析硬编码写死的服务和协议 硬件抽象层Linux内核匿名共享内存(ASHMem)Binder-BinderLoggerION 内存…

找不到满意的机器视觉工程师工作,想找到满意的工作很难,人太多了,只能先就业后择业

找不到满意的机器视觉工程师工作,想找到满意的工作很难,人太多了,只能先就业后择业

ICCV2023 | PTUnifier+:通过Soft Prompts(软提示)统一医学视觉语言预训练

论文标题:Towards Unifying Medical Vision-and-Language Pre-training via Soft Prompts 代码:https://github.com/zhjohnchan/ptunifier Fusion-encoder type和Dual-encoder type。前者在多模态任务中具有优势,因为模态之间有充分的相互…

Docker(二)安装指南

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 安装 Docker Docker 分为 stable test 和 nightly 三个更新频道。 官方网站上有各种环境下的 安装指南,这里主要介绍 Docker 在…

Vue学习笔记9--vuex(专门在Vue中实现集中式状态(数据)管理的一个Vue插件)

一、vuex是什么? 概念:专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于…

LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆+双指针】

文章目录 前言LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆双指针】题目及类型思路及代码实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后…

rust获取本地外网ip地址的方法

大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info的使用。 get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址&a…

【踩坑日志】SpringBoot读取nacos配置信息并提取信息中的IP地址(配置属性解析异常+排错记录)

缘起 :项目需读取nacos中动态的TDengine数据库连接信息并提取IP,一个并不复杂的操作,但作为一个nacos知识浅薄的菜鸡,我愣是捯饬了几个小时……惭愧惭愧…… 异常代码 Data Component public class TaosLink { // Value("…