大数据工程师的“卿卿日常”

news2024/12/24 7:02:08

大数据工程师在日常生活中做什么?

长按关注《Java学研大本营》,加入读者群,分享更多精彩

扫码关注《Java学研大本营》,加入读者群,分享更多精彩

什么是数据工程?

数据工程是当今世界最关键和最基础的技能之一。这是一个从多个来源收集数据并创建可以向数据科学、数据分析或业务团队公开的数据湖的持续过程。数据工程的目的是为不同类型的用户开发具有现代数据架构的端到端和集中式数据解决方案。

什么是数据工程师?

数据工程师负责从多个来源收集数据,将其转换为可用格式,并将其存储在公共数据湖中。业务利益相关者从数据湖访问数据并从中获得业务洞察力。下游应用程序也可以将此数据用于机器学习用例。

简而言之,数据工程师实施复杂、大规模的大数据项目,重点是收集、管理、分析和可视化大型数据集。

您可以使用下图可视化数据工程师的职责:-

数据工程的生命周期

典型的数据工程生命周期如下图所示=>

数据摄取 → 数据转换 → 数据持久化 → 性能优化

数据摄取:从多个来源获取数据,然后将其摄取到数据湖中的暂存层中。该层通常具有原始数据。

数据转换:将数据从一种格式转换为另一种格式或从多种格式转换为各种消费组件应可接受的单一通用格式。

数据持久化:将转换后的数据存储到数据湖的最后一层。该层暴露给其他数据团队。我们还必须注意这一层的安全方面,因为这一层中可能存在机密数据。因此,我们必须定义适当的安全标准并为消费者提供有限的访问权限。

性能优化:这是最困难和最具挑战性的部分,因为我们需要设计一个高度可扩展和高效的系统。还有其他因素,例如查询性能和构建实时仪表板,这些都取决于您如何分区和存储数据。性能优化不完全是一个单独的模块,而是所有组件都需要的并行连续过程。数据工程师需要以最优化的方式构建摄取、转换和持久化模块。他们需要在构建整个生命周期时考虑各种性能因素。

数据工程师是做什么的?

现在最大的问题来了。数据工程师到底是做什么的?因此,根据我的经验,我在这里总结了数据工程师的角色和职责 ->

  • 为处理 PB 级数据而构建的高度可扩展、分布式、容错的 数据收集和分析系统设计和实施关键组件

  • 构建、部署和管理能够充分处理快速增长的数据需求的大数据解决方案

  • 构建可扩展且可靠的 ETL 或 ELT 管道和流程,以从大量不同的数据源中提取数据

  • 通过开发管道移动架构和实施,从研究到部署

  • 维护和优化数据分析基础架构的性能,以确保准确、可靠和及时地提供决策制定的关键见解

  • 简化数据访问和安全性,使数据科学家和分析师能够在需要时轻松访问数据

  • 通过指导数据使用、处理以及他们如何最好地利用您正在构建的平台来支持其他团队

  • 以敏捷的方式工作

一位数据工程师的经验

谈到我的经历,典型的一天从每日站会 (scrum) 开始,我们在会上讨论 3 件事——昨天做了什么,今天要做什么以及明天的计划是什么。在这个 scrum 中,我们还讨论了我们在完成任务时面临的任何挑战。

根据敏捷标准,产品负责人创建了一个产品待办列表,我们在其中定义了内置数据管道框架(产品)所需的所有必需功能。然后,这分为多个史诗和故事,我们计划几乎每个月发布一次。

正如我之前提到的,一个管道可以分解成多个微服务,例如——数据收集或摄取、数据转换或扩充、数据持久化,然后是最后一部分性能优化。每当 Scrum 周期开始时,每个数据工程师都会被分配独立的故事,他/她需要在整个生命周期中处理这些故事——构建、编码、测试和部署,直到周期结束。我曾经在一个周期中为某些功能开发一个模块,然后在下一个周期中我切换到具有新功能的不同模块。通过这种方式,我了解了整个产品和核心功能,并且对任何特定模块都没有依赖任何人。对于版本控制,我们使用了GIT bitbucket存储库。每天,我过去常常检查最新的代码,处理它,并在一天结束时签到。这确保了 bitbucket 存储库始终是最新的,并且如果有人在度假,另一个人可以从第一个人离开的地方接手。

单元测试和集成 测试也很重要,我过去常常与其他团队合作,帮助他们端到端地测试各种模块。

最后,当管道上线时,我们需要在数据的正确性和性能方面支持管道。通常,支持工程师会在那里监控管道并在出现任何工作失败或性能问题时提出任何缺陷。我们遇到的问题主要与性能有关,因为我们每天获取的数据种类繁多,数量庞大。这完全是一个关于如何优化数据管道性能的大话题,我将在下一篇文章中介绍。

数据工程师的所需技能

  1. 了解用于组织数据的不同架构,例如作为大数据框架的Hadoop 。HDFS是分布式存储文件系统。YARN作为资源管理器等。

  2. 了解数据处理技术,如 Map Reduce、Apache Spark和传统 SQL 或任何其他 ETL 框架,如Informatica或Talend框架。

  3. 了解不同的数据收集模式,如实时、批量或小批量数据和基于服务的模式。我们越早收集数据,就越有可能获得新客户并节省更多资金。

  4. 了解Oracle、My SQL 等SQL数据库和 Hadoop 特定的分布式数据库,例如Hive。

  5. 不了解SQL数据库和体系结构。了解基于行的数据库和列式数据库之间的区别。示例可以是Hbase、Cassandra、Redshift (AWS)、DynamoDB (AWS) 等。

  6. 精通以下任何一种编程语言——Java、Scala或Python

  7. 了解任何作业调度框架,如Oozie或 Apache Airflow,以及用于批处理作业的Contol-M 。

  8. 应该熟悉GIT版本控制,因为维护代码版本以跟踪更改很重要。

  9. 学习Linux非常重要,至少是基础知识。大多数大数据工具或 NoSQL 数据库都在 Linux 上运行。应熟悉操作系统基础知识、Shell 脚本和cron 作业。

  10. 了解其中一种云 平台——AWS、Azure 或 GCP 也很重要。如今,许多组织正在将他们的数据转移到云平台。

好吧,现在您知道成为一名大数据工程师是什么感觉,以及如何构建您的技能组合以实现这一目标。在下一篇文章中,我将分享成为数据工程师的完整路线图。

推荐书单

《项目驱动零起点学Java》

《项目驱动零起点学Java》共分 13 章,围绕 6 个项目和 258 个代码示例,分别介绍了走进Java 的世界、变量与数据类型、运算符、流程控制、方法、数组、面向对象、异常、常用类、集合、I/O流、多线程、网络编程相关内容。《项目驱动零起点学Java》总结了马士兵老师从事Java培训十余年来经受了市场检验的教研成果,通过6 个项目以及每章的示例和习题,可以帮助读者快速掌握Java 编程的语法以及算法实现。扫描每章提供的二维码可观看相应章节内容的视频讲解。

《项目驱动零起点学Java》贯穿6个完整项目,经过作者多年教学经验提炼而得,项目从小到大、从短到长,可以让读者在练习项目的过程中,快速掌握一系列知识点。

马士兵,马士兵教育创始人,毕业于清华大学,著名IT讲师,所讲课程广受欢迎,学生遍布全球大厂,擅长用简单的语言讲授复杂的问题,擅长项目驱动知识的综合学习。马士兵教育获得在线教育“名课堂”奖、“最受欢迎机构”奖。

赵珊珊,从事多年一线开发,曾为国税、地税税务系统工作。拥有7年一线教学经验,多年线上、线下教育的积累沉淀,培养学员数万名,讲解细致,脉络清晰。

链接: https://item.jd.com/13607758.html

精彩回顾

部署Spring Boot应用程序

Java Spring Boot 3.0.0 RC1 震撼登场!

长按关注《Java学研大本营》

长按二维码,加入Java读者群

扫码关注《Java学研大本营》,加入读者群,分享更多精彩

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

25岁,一个汽修工人转行 Python 的真实事迹!

前言 我遇到一个汽修工人,他没有事喜欢上网,看新闻,对于编程很有兴趣,也想过转行,但是不知道学习什么好. 如何知道 Python. 我和这位朋友的家很近,在过年的时候,我们聊过 (20 出头), 我了解他是…

在vue中,为什么不能用index作为key?

啊?不是吧,在vue中,不能使用index作为key呢?使用index作为key又好理解又方便,为什么不能使用呢?看文章就知道啦~. 一、key的作用是什么? key的作用众所周知,看一个demo就知道&…

【FFmpeg视频播放器开发】解封装解码流程、常用API和结构体简介(一)

一、前言 在正式编写 FFmpeg 播放器前,我们需要先简单了解下所要用到的 FFmpeg 库、播放与解码流程、函数和相关结构体。 二、FFmpeg 库简介 库介绍avcodec音视频编解码核心库avformat音视频容器格式的封装和解析avutil核心工具库swscal图像格式转换的模块swresa…

零基础如何学好Python?Python有哪些必须学的知识?

跟几个IT界的大佬提起Python,他们说零基础学好Python很简单,Python进阶需要花费些气力。那么零基础如何学好Python?Python有哪些必须学的知识?学习的策略技巧有哪些?今天小编整理的这篇文章将会给你启发。 Python上手…

vulnhub靶机DriftingBlue6

靶机下载地址DriftingBlues: 6 ~ VulnHub kali ip:192.168.174.128 靶机ip: 192.168.174.140 首先进行ip地址发现 进行端口扫描 这里进行目录扫描,我习惯性使用Linux里面的gobuster和Windows上的dirsearch一起进行扫描。 python dirsearc…

Linux | 常见指令和常用热键

啊我摔倒了..有没有人扶我起来学习.... 👱个人主页:《CGod的个人主页》\color{Darkorange}{《CGod的个人主页》}《CGod的个人主页》交个朋友叭~ 💒个人社区:《编程成神技术交流社区》\color{Darkorange}{《编程成神技术交流社区》…

升级Linux服务器你必须要知道的事

服务器安全是每个系统管理员的头等大事。除了拥有第三方安全工具(如防火墙,DDoS保护等)外,使生产服务器上的所有代码保持最新也是极为重要的。 当您的应用程序投入生产时,升级它的风险更大。如果您的服务器由Linux驱动…

超级简单基于nodejs电商管理系统的设计与实现.zip(论文+源码+ppt文档+视频录制)

相关资料下载地址:请点击下载》》》 该商城平台整体上实现了商品管理模块、订单交易模块,购物车模块、商品列表股那里模块、用户模块模块。在这些功能模块独立运行和相互配合下形成了一个电商商城系统。在商城实现的技术架构方面,该商城采用nodejs作为商城后台的底…

C++11标准模板(STL)- 算法(std::minmax)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 返回两个元素的较小和较大…

二次供水智慧改造,保障冬季热水稳定供给

冬季低温雨雪天气不仅仅影响到居民用水&#xff0c;也影响到二次供水泵站的维护检修。一旦设备出现故障&#xff0c;导致无法及时供水&#xff0c;居民可能喝不上一口热水&#xff0c;更不用提热水洗澡的难题了。因此&#xff0c;在冬季需要对二次供水泵站设备更加关注&#xf…

AD20和立创EDA设计(4)PCB设计

&#xff08;1&#xff09;本文主要介绍如何将从立创EDA导出的原理图&#xff0c;在AD20进行PCB设计。 &#xff08;2&#xff09;需提前观看&#xff1a;AD20和立创EDA设计&#xff08;3&#xff09;微调原理图和原理图检查&#xff1b; &#xff08;3&#xff09;邀请加入嵌入…

【数据结构Note6】-图-知识总结(图存储+BFS+DFS+最小生成树+最短路径+拓扑+逆拓扑)

文章目录6.1 图的定义及性质6.1.1 无向图和有向图6.1.2 简单图和多重图6.1.3 图的相关概念6.1.3.1 顶点的度6.1.3.2 顶点和顶点的关系6.1.3.3 子图6.1.3.4 连通分量6.1.3.5 强连通分量6.1.3.6 生成树6.1.3.7 生成森林6.1.3.8 边的权、带权图/网6.1.3.9 几种特殊的图6.2 图的存储…

课程试题库网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 模块划分&#xff1a;老师模块、班级模块、学生模块、课程模块、试题模块、试卷模块、组卷模块、考试模块、答题模) 管理…

零基础转行Python开发怎么学习呢?

转行零基础学Python编程开发难度大吗&#xff1f;从哪学起&#xff1f;近期很多小伙伴问我&#xff0c;如果自己转行学习Python&#xff0c;完全0基础能否学会呢&#xff1f;Python的难度到底有多大&#xff1f;今天&#xff0c;小编就来为大家详细解读一下这个问题。 学习 Py…

时间哈希+日期处理 睡大觉

E-睡大觉_2022河南萌新联赛第&#xff08;四&#xff09;场&#xff1a;郑州轻工业大学 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 这是一道模拟题&#xff0c;这里主要总结如何处理时间信息和日期信息 对于时间信息&#xff1a;把时分秒转化成秒&#xff0c;相当…

基于java(springboot)网吧管理系统(java毕业设计)

基于java&#xff08;springboot&#xff09;网吧管理系统 网吧管理系统是基于java编程语言&#xff0c;mysql数据库&#xff0c;springboot框架和idea开发工具开发 &#xff0c;本系统分为会员&#xff0c;网管&#xff0c;管理员三个角色&#xff0c;会员功能是注册登陆系统…

基于JAVA的网上订餐外卖系统(Java+MySQL)

美食是人类永恒的话题,无论是在古代还是现代人们对美食都有一种非常的热爱在里面,但是随着时代的发展,人们可能没有更多的时间去研究美食,很多时候人们在下班或者放学之后更希望通过网络来进行订餐,为此我开发了本基于JAVA的餐必达网上订餐系统 本餐必达网上订餐系统采用Java语…

在写vue的项目中为什么index不能做key使用?

前言 在我们写vue的的项目时&#xff0c;我们是否会疑惑后端数据为什么都会带一个Id&#xff0c;而这个Id一般都作为循环中的key来使用&#xff0c;我们为什么不直接用index来作为他的key呢&#xff1f;这样不是更方便吗&#xff1f;下面我就带大家解决解决这和疑惑吧。 key的…

深度学习-归一化输入,梯度消失爆炸,梯度检验

文章目录前言一、归一化输入1、均值方差归一化2、why normalize input?二、梯度消失&#xff0c;爆炸1.梯度2.深度网络学习初始化三、梯度检验梯度检验前言 吴恩达 week5 一、归一化输入 1、均值方差归一化 均值方差归一化。 要注意&#xff1a;我们要对训练数据集和测试数…

探花交友_第9章_小视频方案(新版)

探花交友_第9章_小视频方案(新版) 文章目录探花交友_第9章_小视频方案(新版)1. 我的访客1.1 需求分析1.1.1 功能说明1.1.2 数据库表1.2 记录访客数据tanhua-modeltanhua-app-servertanhua-dubbo-interfacetanhua-dubbo-mongo1.3 首页谁看过我需求分析tanhua-modeltanhua-app-se…