有小伙伴在问,大数据从业人员到底需要哪些技能?为什么搞大数据的最后变成了Sqlboy或Sqlgirl?搞大数据的每天到底在干什么?今天,我们就来一一回答下,并总结出在当下大数据从业人员需要会哪些技能。

大数据团队的构成与基本要求

一般来说,企业内部建立大数据团队,至少会包含以下几个类别:大数据开发工程师、大数据运维工程师、大数据架构师、有的还会有偏向业务侧的数据分析工程师。

先说大数据运维工程师,从职责上看,负责初期的大数据集群搭建、大数据集群的资源配置优化、故障诊断、日常运营维护等。从技能上看,需要了解网络、硬件、服务器的基本知识,熟悉Hadoop、Spark、Flink、Yarn等主流核心技术框架,对常见的配置项、基本原理有基本的了解,有较强的Shell或Python脚本的开发能力、熟悉常用的服务器、集群监控管理工具、对JVM有基本的认识,具有快速定位问题、处理故障的能力。

大数据开发工程师,又分为两类,一类是偏ETL数据开发的,主要是应用Hive、Impala、Spark、Flink等完成数据处理和业务逻辑实现,主要是以Sql为主,偶尔写一些UDF函数、Spark/Flink程序等。这一类开发人员,除了有较强的Sql功底以外,还需要大致了解Hadoop生态的核心技术,至少要熟悉各个组件的编程框架,能快速基于程序代码、Sql等方式完成数据的计算。另一类开发人员偏向底层平台的开发,基于业务需求对开源组件进行二次扩展,区别于前者ETL开发人员,除了会用组件以外,还需要有较强的Java功底、有快速阅读源码的能力,需要对Hadoop生态有源码级别的了解。

大数据架构师也分两类,一类是偏数据侧的,主要是围绕DCMM数据管理的方法论,以及数据仓库建设方法论,能基于业务需求完成数仓的顶层设计规划、以及相应数据标准、数据质量的规划设计、与实施落地。另一类是偏技术侧的,除了有较强的技术功底以外,还需要对开源或商用的大数据系统平台、相关生态技术的特点非常熟悉,对技术发展趋势有一定的认识,能基于大数据技术提供场景化的解决方案、完成平台的架构设计、以及具体项目的设计实现、及时解决项目开发或产品研发过程中的技术难题。

大数据学习路线

非常熟练的掌握一门语言:建议Java,包括Java基础、JVM、锁、NIO、并发、数据库、服务器、SpringBoot、SpringCloud、微服务相关知识。至少要能独立完成后端服务接口、功能的编写。

非常熟练的掌握以下大数据相关技术

hadoop:鼻祖级的技术,核心中的核心,至少要能独立完成集群的搭建、MapReduce的编写,对各个主流版本特性有一定的认识,并掌握基本模块的源码。

Spark:能基于Java或Scala,完成SparkCore、SparkStreaming程序的编写,掌握核心模块的源码。

SQL相关:掌握Hive、Impala等技术组件,能基于SQL完成指标逻辑统计、以及基本的SQL优化。

Flink:能基于Flink完成开发、对FLink基本的执行流程、优化项有一定的认识。掌握核心模块的源码。

Hbase/ClickHouse/ES/Doris/Kafka/Presto/Kudu等中间件:掌握基本的使用、优化,能Mapping到应用场景。

调度与集成:对主流的调度工具、数据集成方法/理论有一定的认识,并能基于业务需求完成基本配置和使用。如Flume、Sqoop、DS、Datax、各种CDC技术。

Linux:服务器的基本认识、较强的Shell。

机器学习:了解基本的机器学习流程,这部分主要是考虑机器学习工程化需要大数据的支持。

熟悉常见的大数据解决方案:如集群监控、多租户管理、Kerberos相关、即席查询等。

了解常用的计算机知识:计算机组成原理、操作系统、计算机网络、设计模式、数据结构等。

写在最后

技术一定是不断迭代的,技术从业人员一定要向前看,不断的更新自己的技能,并让自己的技能贴合技术发展趋势,从大数据的发展方向来看,以下四个方向已经基本明晰。

hadoop存算一体架构向存算分离架构演化:在大数据计算场景中,我们一般采用移动计算、不移动数据的策略来进行优化,会将计算节点和数据节点部署在一起,这会导致三个核心问题,集群规划难(存算耦合、机器带状态,无法弹性扩缩容)、运维负担重(坏盘坏节点无法避免)、存储成本高(容量预留)。在万物云原生的今天,数据存储层可以对象存储为主,计算资源基于K8S进行弹性扩缩容,可以很大程度的满足潮汐计算的需要。

数据湖解决方案逐步替代传统hive数仓:hive最大的问题在于对upsert的能力支持较弱,并没有写scheme的校验。在历史数据发生变化的数据集成场景中,需要设计复杂的ETL架构,如拉链表等,来做upsert的增强,这无疑增加了系统复杂度,同时提高了数据存储和开发成本。如今,iceberg、hudi和delta都很好的支持了upsert能力,并支持数据的实时写入,可以更好的简化数据ETL的复杂度。

流批一体化:目前很多公司依旧采用lambda架构,这种架构的缺点是需要同时维护实时和批处理两套架构,这样会导致数据口径不一致、数据维护成本高等等一系列问题。基于flink技术,实现计算引擎的统一、业务层逻辑的统一,以一套语义完成数据开发,可以更好的提高效率。

多云一站式DataOps:一站式数据平台的升级版,目前一站式数据平台更多的是为了落地数据治理,来规约全链路数据开发的规范性,提高全链路的数据流转效率。但这远远不够,未来的企业的IT基础设施会在多云之上,如何同时实现多云一站式DataOps,并且真正实现基于元数据驱动的DataOps,是我们要持续关注的问题。


关注公众号:IT转型指北,分享高质量电子书和文章

大数据从业人员需要哪些技能?相关推荐

  1. 大数据岗位的标准终于来了!《大数据从业大数据岗位的标准终于来了!《大数据从业人员能力要求》行业标准正式发布...

    大数据的岗位都有哪些,都是做什么的?这个问题恐怕困扰着很多人,因为一直没有统一的标准,就容易造成这种混乱的情况.搜索某招聘网站,可以看到这样的结果. 其实有时候我都不知道自己是哪一个岗位,感觉都符合, ...

  2. 大数据技术人员工具包之—常见数据挖掘分析处理工具

    大数据技术人员工具包之-常见数据挖掘分析处理工具 2016年03月15日 大数据 数据科学融合了多门学科并且建立在这些学科的理论和技术之上,包括数学.概率模型.统计学.机器学习.数据仓库.可视化等.在 ...

  3. 学习Java大数据需要掌握哪些Java技能?

    学习Java大数据需要掌握哪些Java技能?现在大数据发展很速度很多小伙伴想要学习Java大数据技术开发,但是学习大数据为什么需要掌握Java技能呢? 一.学大数据为什么要掌握Java? 首先,我们学 ...

  4. 数据科学家和大数据技术人员工具包

    数据科学家的常用工具与基本思路,数据分析师和数据科学家使用的工具综合概述,包括开源的技术平台相关工具.挖掘分析处理工具.其它常见工具等几百种,几十个大类,部分网址.为数据科学教育和知识分享,提高数据科 ...

  5. 大数据初学必须掌握的技能

    大数据开发技术是一个综合性的数据处理技术,初步总结一下大数据处理技术需要掌握的一些技术,并分享了一些免费电子书,希望能对所有不知道如何学起的人有一些帮助. 学习大数据,最基本的东西就是hadoop,但 ...

  6. 成都python数据分析师职业技能_合格大数据分析师应该具备的技能

    课程七.建模分析师之软技能 - 数据库技术 本部分课程主要介绍MySQL数据库的安装使用及常用数据操作 1.关系型数据库介绍 2.MySQL的基本操作: 1)数据库的操作 2)数据表的操作 3)备份与 ...

  7. 一篇文章带你了解2018 大数据开发工程师必备那些技能

    你好,成为一名大数据开发工程师,你需要具备的技能比较多,具体的,可以参看下面的这些点. Java 大家都知道Java的方向有JavaSE.JavaEE.JavaME,学习大数据要学习那个方向呢?只需要 ...

  8. 大数据开发工程师必备那些技能

    成为一名大数据开发工程师,你需要具备以下这些技能 Java 大家都知道Java的方向有JavaSE.JavaEE.JavaME,学习大数据要学习那个方向呢?只需要学习Java的标准版JavaSE就可以 ...

  9. 大数据架构师+精英必备技能

    (一)架构师技能树 大数据基础巩固(录播) HDFS分布式文件系统 1.HDFS架构设计 2.HDFS设计思想 3.数据块 4.机架感知 5.容错策略 6.数据本地性策略 7.读写流程分析 8.HDF ...

最新文章

  1. Java如何校验两个文件内容是相同的?
  2. Facebook开源数据高效图像Transformer,媲美SOTA CNN
  3. /*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。
  4. 日志中的秘密:Windows登录类型知多少
  5. winform判断线程有没有完成_并发编程系列1:线程池的架构实现、大小配置、及四种线程池使用...
  6. [shell基础]——uniq命令
  7. 使用ASP.NET AJAX Control Toolkit中的NoBot控件拒绝垃圾发布程序 【转载】
  8. 3.13下午 名词动化例句运用,拉丁词汇掌握
  9. xp系统snmp安装包_一款纯净的PE系统
  10. 教育信息化2.0行动计划智慧教育大脑建设方案
  11. 适合自学的C语言基础视频教程
  12. chrome主页被毒霸网址大全劫持解决办法
  13. 好程序员大数据培训之Hadoop常见问题
  14. Android 获取手机Ram 和 Rom大小
  15. 【2022】将3D目标检测看作序列预测-Point2Seq: Detecting 3D Objects as Sequences
  16. 现代软件工程 课程总结
  17. rust 飞天指令_腐蚀RUST代码大全 腐蚀RUST指令代码一览
  18. 中央民族大学计算机房,中央民族大学第九届大学生人文知识竞赛 暨北京市第九届大学生人文知识竞赛选拔赛通知...
  19. Flink-slot与parallelism
  20. C语言用printf()打印u8,u16,u32等参数类型

热门文章

  1. 本周AI热点回顾:最强的目标检测网络开源、ERNIE动静合一全新升级、假笑再也不能骗到AI了
  2. android开发游记:APP内部调启百度、高德、web地图导航
  3. 线性代数学习笔记——克拉默法则及矩阵的秩——1. 克拉默法则
  4. Facebook vs. Google: The battle for the future of the Web
  5. mybatis 报错:Cause: java.lang.NumberFormatException: For input string: ““
  6. BC26 NB-IoT模组MQTT通信测试(通信猫)
  7. FireFox设置所有端口可以访问网站
  8. 一个人的旅行(Dijkstra算法)
  9. JavaScript 学习笔记 - 6 表单处理
  10. Android framework analysis