大数据工程师的日常

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 还不知道大数据工程师的日常么,快来了解。

本文来源:知乎

大家好,我是脚丫先生 (o^^o)

最近小伙伴们,有问到大数据工程师岗位平常的日常工作都是干嘛的?

image.png

大数据或者说想入门大数据,技术肯定是第一重要的,不会大数据的技术谈什么大数据。那么大数据的技术怎么学,要知道大数据是依赖Java的,首先要保证Java得会。

一个项目一般包含:前端,后端,后后端,大数据属于后后端,是在项目开发完成之后有了数据之后才到大数据这一步。从上帝视角看张图:

image.png

大数据工作分为图上这几种,和后端接触的是ETL工程师,负责将数据拿到大数据平台,然后供数仓开发工程师使用,大数据开发负责大数据平台的建设,后面还有数据分析师,AI工程师等。

一、数仓工程师 (全称:数据仓库工程师)

数仓工程师日常工作一般是不写代码的,主要以写 SQL 为主!

数仓工程师是大数据领域公司招聘较多的岗位,薪资也较高,需要重点关注!数据仓库分为离线数仓和实时数仓,但是企业在招聘时大多要求两者都会,进入公司之后可能会专注于离线或实时其中之一。

就目前来说,大多数的企业还是以离线数仓为主,不过未来趋势肯定是实时数仓为主,所以学习时,为了现在能找到工作,需要学习离线数仓,为了以后的发展,需要学习实时数仓。

所以,离线和实时都是我们重点掌握的!需要掌握的技能:

不管离线还是实时,重中之重就是:SQL**

SQL 语法及调优一定要掌握,这里说的SQL包括mysql中的 sql,hive中的 hive sql,spark中的spark sql,flink中的 flink sql。

在企业招聘的笔记及面试中,一般问的关于 sql 的问题主要是以 hive sql 为主,所以请重点关注!

除sql外,还需要重点掌握以下技能,分为离线和实时

离线数仓需要重点掌握的技能:

  • Hadoop(HDFS,MapReduce,YARN)
  • Hive(重点,包括hive底层原理,hive SQL及调优)
  • Spark(Spark 会用及了解底层原理)
  • Oozie(调度工具,会用即可)离线数仓建设(搭建数仓,数仓建模规范)维度建模(建模方式常用的有范式建模和维度建模,重点关注维度建模)

实时数仓需要重点掌握的技能:

  • Hadoop(这是大数据基础,不管离线和实时都必须掌握)
  • Kafka(重点,大数据领域中算是唯一的消息队列)
  • Flink(重中之重,这个不用说了,实时计算框架中绝对王者)
  • HBase(会使用,了解底层原理)
  • Druid(会用,了解底层原理)
  • 实时数仓架构(两种数仓架构:Lambda架构和Kappa架构)

二、大数据开发工程师

数据开发工程师一般是以写代码为主,以 Java 和 Scala 为主。
大数据开发分两类,第一类是编写Hadoop、Spark、Flink 的应用程序,第二类是对大数据处理系统本身进行开发,如对开源框架的扩展开发,数据中台的开发等!
需要重点掌握的技能:

  • 语言:Java 和 Scala(语言以这两种为主,需要重点掌握)
  • Linux(需要对Linux有一定的理解)
  • Hadoop(需理解底层,能看懂源码)
  • Hive(会使用,能进行二次开发)
  • Spark(能进行开发。对源码有了解)
  • Kafka(会使用,理解底层原理)
  • Flink(能进行开发。对源码有了解)
  • HBase(理解底层原理)

通过以上技能,我们也能看出,数据开发和数仓开发的技能重复率较高,所以很多公司招聘时 大数据开发和数仓建设分的没有这么细,数据开发包含了数仓的工作!

三、ETL工程师

ETL是三个单词的首字母,中文意思是抽取、转换、加载从开始的图中也能看出,ETL工程师是对接业务和数据的交接点,所以需要处理上下游的关系对于上游,需要经常跟业务系统的人打交道,所以要对业务系统比较熟悉。

比如它们存在各种接口,不管是API级别还是数据库接口,这都需要ETL工程师非常了解。

其次是其下游,这意味着你要跟许多数据开发工程师师、数据科学家打交道。比如将准备好的数据(数据的清洗、整理、融合),交给下游的数据开发和数据科学家。

需要重点掌握的技能。

  • 语言:Java/Python(会基础)
  • Shell脚本(需要对shell较为熟悉)
  • Linux(会用基本命令)
  • Kettle(需要掌握)
  • Sqoop(会用)
  • Flume(会用)
  • MySQL(熟悉)
  • Hive(熟悉)
  • HDFS(熟悉)
  • Oozie(任务调度框架会用其中一个即可,其他如 azkaban,airflow)

四、数据分析工程师

在数据工程师准备好数据维护好数仓后,数据分析师就上场了。

分析师们会根据数据和业务情况,分析得出结论、制定业务策略或者建立模型,创造新的业务价值并支持业务高效运转。
同时数据分析师在后期还有数据爬虫、数据挖掘和算法工程师三个分支。

需要重点掌握的技能:

  • 数学知识(数学知识是数据分析师的基础知识,需要掌握统计学、线性代数等课程)
  • 编程语言(需要掌握Python、R语言)
  • 分析工具(Excel是必须的,还需要掌握 Tableau 等可视化工具)
  • 数据敏感性(对数据要有一定的敏感性,看见数据就能想到它的用处,能带来哪些价值)

总结:

1 写 SQL (很多入职一两年的大数据工程师主要的工作就是写 SQL )。

2 为集群搭大数据环境(一般公司招大数据工程师环境都已经搭好了,公司内部会有现成的大数据平台,但我这边会私下搞一套测试环境,毕竟公司内部的大数据系统权限限制很多,严重影响开发效率)

3 维护大数据平台(这个应该是每个大数据工程师都做过的工作,或多或少会承担“运维”的工作)

4 数据迁移(有部分公司需要把数据从传统的数据库 Oracle、MySQL 等数据迁移到大数据集群中,这个是比较繁琐的工作,吃力不讨好)

5 应用迁移(有部分公司需要把应用从传统的数据库 Oracle、MySQL 等数据库的存储过程程序或者SQL脚本迁移到大数据平台上,这个过程也是非常繁琐的工作,无聊,高度重复且麻烦,吃力不讨好)

6 数据采集(采集日志数据、文件数据、接口数据,这个涉及到各种格式的转换,一般用得比较多的是 Flume 和 Logstash)

7 数据处理

7.1 离线数据处理(这个一般就是写写 SQL 然后扔到 Hive 中跑,其实和第一点有点重复了)

7.2 实时数据处理(这个涉及到消息队列,Kafka,Spark,Flink 这些,组件,一般就是 Flume 采集到数据发给 Kafka 然后 Spark 消费 Kafka 的数据进行处理)

8 数据可视化(这个我司是用 Spring Boot 连接后台数据与前端,前端用自己魔改的 echarts)

9 大数据平台开发(偏Java方向的,大概就是把开源的组件整合起来整成一个可用的大数据平台这样,常见的是各种难用的 PaaS 平台)

10 数据中台开发(中台需要支持接入各种数据源,把各种数据源清洗转换为可用的数据,然后再基于原始数据搭建起宽表层,一般为了节省开发成本和服务器资源,都是基于宽表层查询出业务数据)

11 搭建数据仓(离线数仓和实时数仓)

总之就是离不开写 SQL ...

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7月前
|
大数据 Linux 网络安全
大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)
大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)
195 0
|
4月前
|
SQL 开发框架 大数据
【数据挖掘】顺丰科技2022年秋招大数据挖掘与分析工程师笔试题
顺丰科技2022年秋招大数据挖掘与分析工程师笔试题解析,涵盖了多领域选择题和编程题,包括动态规划、数据库封锁协议、概率论、SQL、排序算法等知识点。
99 0
|
7月前
|
分布式计算 监控 大数据
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
116 1
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
|
7月前
|
SQL 分布式计算 算法
程序员必备的面试技巧——大数据工程师面试必备技能
程序员必备的面试技巧——大数据工程师面试必备技能
125 0
|
7月前
|
Java 数据库连接 数据库
Java大数据开发工程师__Spring学习笔记(待更新)
Java大数据开发工程师__Spring学习笔记(待更新)
60 1
|
7月前
|
关系型数据库 MySQL 大数据
大数据开发工程师基本功修炼之Linux学习笔记(四)
大数据开发工程师基本功修炼之Linux学习笔记(四)
144 1
|
7月前
|
大数据 Linux 开发工具
大数据开发工程师基本功修炼之Linux学习笔记(三)
大数据开发工程师基本功修炼之Linux学习笔记(三)
107 0
|
7月前
|
大数据 Java Linux
大数据开发工程师基本功修炼之Linux学习笔记(二)
大数据开发工程师基本功修炼之Linux学习笔记(二)
118 0
|
7月前
|
算法 Java 大数据
大数据Java工程师必备____2021年数据结构思维导图!
大数据Java工程师必备____2021年数据结构思维导图!
135 0
|
运维 大数据 数据挖掘
大数据工程师体系职业路径全解
大数据工程师体系职业路径全解