大数据网络工程师主要干什么的呀?

如题所述

大数据工程师工作内容取决于你工作在数据流的哪一个环节。

从数据上游到数据下游,大致可以分为:

数据采集 -> 数据清洗 -> 数据存储 -> 数据分析统计 -> 数据可视化 等几个方面

工作内容当然就是使用工具组件(Spark、Flume、Kafka等)或者代码(Java、Scala等)来实现上面几个方面的功能。

具体说说吧,

数据采集:

业务系统的埋点代码时刻会产生一些分散的原始日志,可以用Flume监控接收这些分散的日志,实现分散日志的聚合,即采集。

数据清洗:

原始的日志,数据是千奇百怪的

    一些字段可能会有异常取值,即脏数据。为了保证数据下游的"数据分析统计"能拿到比较高质量的数据,需要对这些记录进行过滤或者字段数据回填。

    一些日志的字段信息可能是多余的,下游不需要使用到这些字段做分析,同时也为了节省存储开销,需要删除这些多余的字段信息。

    一些日志的字段信息可能包含用户敏感信息,需要做脱敏处理。如用户姓名只保留姓,名字用'*'字符替换。

    数据存储:

    清洗后的数据可以落地入到数据仓库(Hive),供下游做离线分析。如果下游的"数据分析统计"对实时性要求比较高,则可以把日志记录入到kafka。

    数据分析统计:

    数据分析是数据流的下游,消费来自上游的数据。其实就是从日志记录里头统计出各种各样的报表数据,简单的报表统计可以用sql在kylin或者hive统计,复杂的报表就需要在代码层面用Spark、Storm做统计分析。一些公司好像会有个叫BI的岗位是专门做这一块的。

    数据可视化:

    用数据表格、数据图等直观的形式展示上游"数据分析统计"的数据。一般公司的某些决策会参考这些图表里头的数据~

    当然,大数据平台(如CDH、FusionInsight等)搭建与维护,也可能是大数据工程师工作内容的一部分喔~

    希望对您有所帮助!~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-25
1 应用迁移(有部分公司需要把应用从传统的数据库 Oracle、MySQL 等数据库的存储过程程序或者SQL脚本迁移到大数据平台上,这个过程也是非常繁琐的工作,无聊,高度重复且麻烦,吃力不讨好)

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

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

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

5写 SQL (很多入职一两年的大数据工程师主要的工作就是写 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 ...
第2个回答  2021-12-01
1 应用迁移(有部分公司需要把应用从传统的数据库 Oracle、MySQL 等数据库的存储过程程序或者SQL脚本迁移到大数据平台上,这个过程也是非常繁琐的工作,无聊,高度重复且麻烦,吃力不讨好)

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

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

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

5写 SQL (很多入职一两年的大数据工程师主要的工作就是写 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 的开销,分层后磁盘占用会大大增加,磁盘不值钱所以没什么关系,分层可以使数据表的逻辑更加清晰,方便进一步的开发操作,如果分层没有做好会导致逻辑混乱,新来的员工难以接手业务,提高公司的运营成本,还有这个建数仓也分为建离线和实时的)
第3个回答  2020-12-16
什么是大数据?
大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
对于“大数据”(Big data)研究机构Gartner给出了这样的定义。“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
IBM提出大数据的五大特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
大数据工程师主要做什么的?
大数据工程师可以从事对大量数据的采集、清洗、分析、治理、挖掘,并对这些数据加以利用、管理、维护和服务的相关技术工作。
具体的工作内容取决于你工作在数据流的哪一个环节。从数据上游到数据下游,大致可以分为:数据采集 -> 数据清洗 -> 数据存储 -> 数据分析统计 -> 数据可视化。
数据采集:
业务系统的埋点代码时刻会产生一些分散的原始日志,可以用Flume监控接收这些分散的日志,实现分散日志的聚合,即采集。
数据清洗:
一些字段可能会有异常取值,即脏数据。为了保证数据下游的"数据分析统计"能拿到比较高质量的数据,需要对这些记录进行过滤或者字段数据回填。
一些日志的字段信息可能是多余的,下游不需要使用到这些字段做分析,同时也为了节省存储开销,需要删除这些多余的字段信息。
数据存储:
清洗后的数据可以落地入到数据仓库(Hive),供下游做离线分析。如果下游的"数据分析统计"对实时性要求比较高,则可以把日志记录入到kafka。
数据分析统计:
数据分析是数据流的下游,消费来自上游的数据。其实就是从日志记录里头统计出各种各样的报表数据,简单的报表统计可以用sql在kylin或者hive统计,复杂的报表就需要在代码层面用Spark、Storm做统计分析。一些公司好像会有个叫BI的岗位是专门做这一块的。
数据可视化:
用数据表格、数据图等直观的形式展示上游"数据分析统计"的数据。一般公司的某些决策会参考这些图表里头的数据。
大数据工程师待遇如何?
2020年-2021年,将成为未来20年间大数据及人工智能最佳的产业资本并购整合窗口期,近两年大数据与云计算应用得到了快速发展,产生了超千亿级的市场规模。云计算平台和云计算服务模式成为it行业的热点。这些都是大数据行业不可小视的发展前景。
根据据麦肯锡出具的一份详细分析报告显示,未来大数据或者数据工作者的岗位需求将激增,我国预计两年内大数据的人才缺口也将达到200-300万,制造、医疗、金融、交通等行业,信息化SaaS软件、大数据、人工智能等技术方向都产生了大量人才需求。
人才缺口的加大,带来的将是大数据工资及年薪的增长,根据相关调查显示,2018-2019年薪酬呈上涨趋势,涨幅较2018年偏缓,整体跳槽涨幅在30%上下,其中架构类、算法类、大数据类、系统架构、安全类、物联网等方向涨幅比较大。大数据平均薪资已经超过20000元,年薪30万只是普通水平。
大数据工程师工作岗位职责是什么呢?
1、负责爬虫架构设计和研发;
2、负责爬虫核心搜索策略、算法、数据聚类、重组的设计与开发;
3、负责网络爬虫或数据采集软件的优化改进以及采集规则编写;
4、解决封账号、封IP等采集难点攻克;
5、确保所负责的站点按周期采集及时,全面。本回答被网友采纳
第4个回答  2020-12-16
正常情况下会细分为大数据开发岗位(包含平台开发、行业应用开发)、大数据运维、大数据分析等岗位,不同岗位的任务具有一定的差异。
当前随着云计算、大数据平台逐渐开始落地应用,大数据开发工程师(行业领域)的岗位需求正在不断增加,目前也有不少程序员(Java方向)也会转向大数据开发岗位,这些岗位的岗位附加值还是比较高的。这些开发岗位的日常工作基本上就是完成代码的编写,只不过需要与大数据平台进行交互,需要调用大数据平台的各种服务来完成功能实现,总体上的难度并不算大,但是需要具有一定的行业经验。
大数据工程师是做什么的?
分析历史、预测未来、优化选择,这是大数据工程师在“玩数据”时最重要的三大任务:
找出过去事件的特征:
大数据工程师一个很重要的工作,就是通过分析数据来找出过去事件的特征。找出过去事件的特征,最大的作用是可以帮助企业更好地认识消费者。通过分析用户以往的行为轨迹,就能够了解这个人,并预测他的行为。
预测未来可能发生的事情:
通过引入关键因素,大数据工程师可以预测未来的消费趋势。
找出最优化的结果:
根据不同企业的业务性质,大数据工程师可以通过数据分析来达到不同的目的。本回答被网友采纳
相似回答