转向大数据工程师岗位需要具备哪些基础?
随着大数据技术体系的逐渐成熟,大数据产业链上需要大量的大数据工程师,由于不同岗位面临着不同的任务,所以大数据工程师的知识结构也会有所不同。目前大数据领域内的主要工作岗位涉及到大数据采集工程师、大数据分析工程师、大数据开发工程师和大数据运维工程师,如果想转型为大数据工程师,可以根据自身的知识结构和能力特点选择一个具体的发展方向。
大数据采集工程师主要的工作任务是完成数据的采集、整理和存储,虽然整体的技术含量并不算太高,但是涉及到的知识面却比较广泛。由于目前大数据的主要数据采集渠道包括物联网、互联网和传统信息系统,所以大数据采集工程师也需要掌握这些相关技术,比如要掌握如何通过程序设计来完成网络信息提取等。另外,数据的整理和存储还需要掌握各种数据库知识(包括NoSql数据库),以及云计算相关知识。对于具有网络基础的IT行业从业者来说,转型大数据采集工程师或者大数据运维工程师是不错的选择。
大数据分析工程师主要的工作内容是进行大数据分析和呈现,大数据分析目前有两种主要方式,分别是统计学方式和机器学习方式,所以要想从事大数据分析工程师岗位,需要具有扎实的数学基础和程序设计基础。不少数学专业和统计学专业的职场人,可以考虑转型大数据分析工程师岗位,目前该岗位的人才需求量还是比较大的。
大数据开发工程师主要完成两方面任务,其一是进行大数据平台开发,其二是进行大数据应用开发。在当前大数据技术体系逐渐成熟的情况下,大数据应用开发的岗位需求量会更大一些,相对于大数据平台开发来说,大数据应用开发更注重与应用场景的结合。对于广大程序员(Java程序员、Python程序员)来说,转向大数据开发工程师岗位会更容易一些。
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 搭建数据仓库(这里的数据仓库的搭建不是指 Hive ,Hive 是搭建数仓的工具,数仓搭建一般会分为三层 ODS、DW、DM 层,其中DW是最重要的,它又可以分为DWD,DWM,DWS,这个层级只是逻辑上的概念,类似于把表名按照层级区分开来的操作,分层的目的是防止开发数据应用的时候直接访问底层数据,可以减少资源,注意,减少资源开销是减少 内存 和 CPU 的开销,分层后磁盘占用会大大增加,磁盘不值钱所以没什么关系,分层可以使数据表的逻辑更加清晰,方便进一步的开发操作,如果分层没有做好会导致逻辑混乱,新来的员工难以接手业务,提高公司的运营成本,还有这个建数仓也分为建离线和实时的)
总之就是离不开写 SQL ...
首先我们要知道对于大数据开发工程师需要具备的技能,下面我们分别来说明:
用人单位对于大数据开发人才的能力要求有
技能要求:
1.精通JAVA开发语言,同时熟悉Python、Scala开发语言者优先;
2.熟悉Spark或Hadoop生态圈技术,具有源码阅读及二次开发工作经验;精通Hadoop生态及高性能缓存相关的各种工具,有源码开发实战经验者优先;
3.熟练使用SQL,熟悉数据库原理,熟悉至少一种主流关系型数据库;熟悉Linux操作系统,熟练使用常用命令,熟练使用shell脚本;熟悉ETL开发,能熟练至少一种ETL(talend、kettle、ogg等)转化开源工具者优先;
4.具有清晰的系统思维逻辑,对解决行业实际问题有浓厚兴趣,具备良好的沟通协调能力及学习能力。
以上就是想要成为大数据人才需要具备的技能
那么如何具备这些能力,怎么学习了,对于大多数人来说,目前只有通过参加大数据的学习,才能够系统的掌握以上的大数据技能,从而胜任大数据工程师的工作。