大数据开发工程师需要具备哪些技能?

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

1、数仓开发工程师

2、算法挖掘工程师

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

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

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

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

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:在实时计算,处理批、流数据,实现秒级计算并赋能给业务系统的核心技术;

四、小结

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


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java快速排序希尔排序归并排序

快速排序算法 快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。 一次循环:从后往前比较&…

Redis:原理速成+项目实战——Redis实战10(Redis消息队列实现异步秒杀)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Redis:原理速成项目实战——Redis实战9(秒杀优化) 📚订阅专栏:Redis&…

从零学Java 集合概述

Java 集合概述 文章目录 Java 集合概述1 什么是集合?2 Collection体系集合2.1 Collection父接口2.1.1 常用方法2.1.2 Iterator 接口 1 什么是集合? 概念:对象的容器,定义了对多个对象进行操作的常用方法;可实现数组的功能。 和数组区别&…

MES系统数据采集的几种方式

生产制造执行MES系统具有能够帮助企业实现生产数据收集与分析、生产计划管理、生产过程监控等的功能板块,在这里小编就不一一介绍了,主要讲讲它的数据采集功能板块,可以说,数据采集是该系统进行数据统计与生产管理等后续工作的基础…

ELF文件格式以及交叉编译工具链常用工具

windows下的可执行文件是.exe文件. .data段放置的是初始化的全局变量和初始化的静态局部变量; .bss段放置的是未初始化的全局变量和未初始化的静态局部变量;因为未初始化的变量会放在.bss段中统一置0. .text段放语句,比如a; 局部变量则是…

uniapp打包h5部署到服务器

在学习uniapp,部署前后端分离项目。将h5的dist文件打包好后一直在考虑如何通过nginx反向代理到后端接口,整了半天也没整成。最后才发现,uniapp打包的h5页面包好像不需要反向代理到后端接口,只需要通过nginx将dist下的h5包代理了&a…

掌握Sketch:软件介绍与实用技巧分享

Sketch是最好的UI软件之一。它可以快速交互迭代,每个页面之间的小部件可以直接复制粘贴并修改。在整体架构布局中,可以直接下载很多Mocaup模板,所以非常快。这个工具完全是为应用程序设计的,比PS好得多。 如果你不知道sketch软件…

谷粒学院项目redirect_uri 参数错误微信二维码登录

谷粒学院项目redirect_uri 参数错误_redirect_uri": "http%3a%2f%2fguli.shop%2fapi%2fuce-CSDN博客 修改本地配置 # ����˿� server.port8160 # ����&#x…

VBA中类的解读及应用第八讲:实现定时器功能的自定义类事件

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

机器学习_8、支持向量机

支持向量机解决鸢尾花数据集分类问题 # 导入鸢尾花数据集 from sklearn.datasets import load_iris import pandas as pd import numpy as npiris_data load_iris() Xiris_data.data yiris_data.target# 划分训练集与测试集 from sklearn.model_selection import train_test_…

软件测试|使用Pytest、Allure Step和Allure Attach创建详细测试报告

引言 在软件开发过程中,测试是不可或缺的一部分。为了更好地展示测试结果并定位问题,结合Pytest测试框架和Allure测试报告工具可以创建清晰、详细的测试报告。本文将介绍如何使用Pytest、Allure的allure.step()和allure.attach()功能来创建具有丰富信息…

大龄码农的业余作品:升讯威在线客服系统:系统架构设计

本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用,并提供了多国语言版本,服务了一些海外客户。 本篇主要介绍系统的技术架构,从较高的抽象层次上解释我是怎样设计实现这样一套…