作者介绍

@西索

知乎:郑小柒是西索啊

资深数据分析专家

故事很多,余生慢慢分享

“数据人创作者联盟” 成员


关于大数据开发工程师需要具备的技能,需要充分了解一下当前大数据的几个就业方向,可以参考下主流互联网行业的部门架构、职责和JD,大数据开发工程师,总体来说有这么几类,不同的公司叫法不一样:


① 数仓开发工程师

② 算法挖掘工程师

③ 大数据平台开发工程师(应用)

④ 大数据前端开发工程师



一 不同工程师的职责和技能要求

在不同层,对于工程师的职责、技能要求都会存在差异;


1、数仓开发工程师


根据企业的要求搭建数仓体系(DW),是企业所有级别决策的制定过程,基于分析性报告和决策支持目的,为需要业务智能的企业,提供指导业务流程赶紧、监视时间、成本、质量以及控制,为战略策略做数据支持。主要负责核心业务模块数据仓库的构建,对数据模型进行设计,ETL实施、ETL性能优化、ETL数据监控以及一系列技术问题的解决;构建用户主题、各业务线主题、推荐主题、BI门户系统,并对全产品线数据字典维护,提升数据资产质量;


需要熟悉的技能:

① 需要深入理解常用的数据建模理论,独立把控数据仓库的各层级设计;

② 熟练掌握Hive/SQL、Spark/Map-Reduce/MPI分布式计算框架;

③ 熟悉大数据的离线和实时处理,可以进行海量数据模型的设计、开发;


2、算法挖掘工程师


在大厂重创新、研究,在小厂重赋能、产品,有本质上的区别,也分很多种类型,包括搜索算法、导航算法、NLP、视觉算法、图像识别、自动驾驶、安全算法、通信算法等,需要掌握的技能差异性也很大,整体来看,有以下共性。


需要熟悉的技能:

① 数据分析:通过编程语言进行科学分析,python、sql、spark,分布式计算框架Hadoop/Spark/Storm/ map-reduce/MPI;

② 文献阅读:能够关注市面上的主流比赛算法应用,能够对学术、工业论坛、论文有非常多的积累;

③ 创新思维:场景迁移/举一反三能力,例如看到广告推荐中的根因定位,应该能马上切换到安全中的异常溯源;

④ 算法原理:机器学习、深度学习、强化学习、算法导论等;

⑤ 数学功底:扎实的数学功底,能够完成公式推导,并进行调优;


3、大数据平台开发工程师


大数据平台开发有两个方面,平台自研、应用开发,需要熟悉Web后端开发语言、大数据开源组件,至少精通掌握一种开发语言golang、php、java;对开发框架的原理&源码都有一定的了解(如laravel);


需要熟悉的技能:

① 平台自研,属于研发级开发,基于Hadoop组件开发HBase、Hive、Avro、Zookeeper等,完成元数据系统、数据质量、数据采集、数据计算平台、任务调度平台等系统性建设;

② 应用开发,在大数据平台Hadoop及Spark进行具体的应用开发,搭建数据报表平台、自助数据分析平台、数据地图、标签库等;


4、大数据前端开发工程师


给用户看到的都叫做前端,比如APP界面、Web 界面,与交互设计师、 视觉设计师协作,根据设计图,依据相关编程语言进行界面内容实现,把界面更好地呈现给用户;前端从业人员主要分布于我国中东、南部地区,其中北京的前端开发工程师最多,其次是深圳、上海、成都、杭州、广州、武汉、南京、长沙和西安;


需要熟悉的技能:

① 熟悉W3C技术标准,精通HTML、Javascript、Ajax、DOM、HTML5、CSS3等前端开发技术;

② 熟练掌握Vue、jequry、webpack等前端框架和相关技术并了解其实现原理,熟悉nginx、nodejs等webserver技术;

③ 熟悉前端性能分析和调优,并保证兼容性和执行效率,可编写复用的用户界面组件;

④ 掌握前端开发的安全风险和对策,良好的分析和解决问题的能力;


以上就是对不同类型的大数据开发工程师的介绍。



二 大数据技术架构图

可以参考一下大数据的技术架构。在企业里面,如果按照数据流向来看,有一个主链路:


① 系统对接:大数据平台开发工程师负责,对接各个业务系统,提供数据接入的能力;


② 采集存储:数仓开发工程师,通过工具定期进行数据接入,并进行维度建模,抽象出DW层,建立指标;


③ 数据挖掘:算法挖掘工程师,结合数仓的底层模型表,dws表构建数据特征,挖掘数据的业务价值;


④ 数据呈现:大数据前端开发工程师,根据数据接口信息,在前端进行数据的可视化图表呈现,系统集成;




三 大数据相关的技术内容

由于数据中台的出现,组织架构和分工可能会有一定到差异,根据所需要做的内容和事情,所需要掌握的技能树是类似的,按照日常使用情况,可以归纳为以下几种:


· 关于python、sql、spark、hadoop和消息


综合对大数据开发过程的技术要求,比较主流的几个工具和技术:


python:主要解决数据处理、分析、挖掘的内容;


SQL:主要是在数仓存储、模型存储、指标接口开发过程中需要非常熟练;Spark:在算法挖掘、大批量数据计算、机器学习应用方面的应用;


Hadoop神态:对数据存储、大数据平台开发都有非常强的要求,依赖HDFS、HIVE等特性;消息:数据接口开发,对于数据应用,和上层应用系统之间的互通有比较高的要求;


· 关于实时计算相关的技术栈


flink:在实时计算,处理批、流数据,实现秒级计算并赋能给业务系统的核心技术;




四 小结

对于大数据,随着技术的不断迭代,数字化的发展,对数据职能的区分度会越来越细分,持续保持对前沿知识的关注,通过和周边的大佬进行学习,结合场景进行深度应用,在数字化的道路上才能走的更长远。

点赞(680) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部