热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

大数据工程师在日常生活中做什么?长按关注《Java学研大本营》,加入读者群,分享更多精彩扫码关注《Java学研大本营》,加

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


长按关注《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学研大本营》,加入读者群,分享更多精彩



推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 熟练掌握Spring Cloud,终于成为Java工程师的面试门槛 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
author-avatar
泡泡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有