很多时候,人们和组织都忽视了数据工程师的基本技能。在这篇详细的文章中,我将介绍成为数据工程师的所有基本技能。
为了提供与数据工程师的基本职责和技能相关的组织的观点,我们按此顺序撰写了这篇文章。
- 基于假设组织的核心和数据工程用例
- 数据工程师的日常职责
- 数据工程师所需的技能
- 一些常见问题
有经验的专业人士会想到有关用例的问题之一。哪些企业用例与数据工程相关?
为了回答上述问题,首先,我们将定义假设企业并提出与其核心业务相关的详细信息,然后我们将跳到与数据工程相关的用例。
企业用例 - 核心业务
在深入研究与数据工程师相关的细节之前,让我们举一个假设的电子商务平台 Laps Premium 的例子,该平台销售高端笔记本电脑,并了解它们的典型实施方式以及数据工程在何处发挥作用。
Laps Premium 的核心业务是向其客户群销售高端笔记本电脑。为此,我们通常使用全栈架构构建网站和/或移动应用程序。通常,前端将使用 Angular 或 React 或一些基于移动的前端构建。后端通常使用 Node(Java Script)、Django 或 Flask(Python)、Rails(Ruby)、Spring(Java)等框架开发。我们通常使用 RDBMS 作为管理订单、发货等的数据库。
除了核心业务,还有几个互补的应用程序应该被构建来吸引客户、交叉销售、追加销售、企业报告或分析、欺诈检测、识别行为模式等。让我们深入了解细节作为一部分下一节。
企业用例——数据工程
几乎所有补充 Laps Premium 核心业务的用例都需要围绕数据进行集成、迁移或工程设计。让我们确定与数据工程相关的用例,并了解它们与数据工程的关系。
企业报告和分析
Laps Premium 的管理层希望围绕核心平台生成的数据运行报告。
- 笔记本电脑哪个价位的销量高?
- 销售频率较高的笔记本电脑有哪些不同配置?
- 一年中哪个部分销量高?
- 在销售周期的哪个阶段,客户正在流失?
报告通常使用 Tableau、Qlikview 等传统 BI 工具进行可视化。数据工程师在向消费层提供数据方面发挥着关键作用,业务用户可以连接到他们的报告工具并查看报告。
数据科学和机器学习
Laps Premium 的管理层希望应用一组机器学习算法来识别模式,据此他们可以对其业务做出准确的预测。
- 哪个年龄段有兴趣购买哪些笔记本电脑?
- 年龄组和配置之间是否存在相关性?
- 某些品牌笔记本电脑的销量与年龄段之间是否存在相关性?
哪些产品可用于向客户交叉销售或追加销售?少数例子是配件,如笔记本电脑包、耳机、键盘、鼠标、显示器、网络摄像头等。
使用数据工程,数据工程师可以将数据提供给数据科学家来识别上述模式,以便组织可以做出更准确的预测。
运行忠诚度计划
- Laps Premium 的管理层希望为其客户运行忠诚度计划。
- 无需使用核心应用程序和数据库运行忠诚度计划,它们可以卸载到下游系统。
- 经常针对现有客户和新客户开展有针对性的营销活动。
- 进行频繁的调查以了解客户不断变化的偏好。
通常,非 RDBMS 数据库用于构建与忠诚度计划相关的应用程序。数据工程师在构建管道以将交易数据从核心电子商务平台获取到将用于运行忠诚度计划的数据库中发挥作用。
数据工程师的日常职责
首先,让我们了解一下 Laps Premium 数据工程师的日常职责是什么。
了解下游应用程序的要求,例如 BI 报告、数据科学、忠诚度计划等。
确定如何将数据与元数据(如列名、数据类型等)一起提供给您。
能够根据下游应用程序的要求理解数据模型。每个应用程序的数据模型可能不同。例如,Laps Premium 核心数据模型基于规范化原则,报告数据模型基于维度建模,忠诚度计划数据模型可以基于 NoSQL 进行非规范化。
为企业报告和行为模式等用例构建批处理数据工程管道。
为诸如运行忠诚度计划、实时企业欺诈检测等用例构建流数据工程管道。
成为成功的数据工程师所需的技能
以下是基于日常职责的数据工程师所需的技能。
能够在基于 Linux 的环境中工作
使用 Python 或 Scala 等函数式编程语言构建有效的数据工程管道
Hadoop 的相关性以及使用分布式文件系统(例如 HDFS)来存储文件以构建数据工程管道
使用 Spark(使用 Python 或 Scala)构建数据工程管道
使用 Spark SQL 构建数据工程管道
使用 Spark SQL 进行临时分析
使用 AirFlow 编排数据工程管道
常见问题解答——成为一名数据工程师
以下是有关成为数据工程师的常见问题。如果您有更多问题,请随时发表评论,以便我们探索并提供答案。
如何开始我的数据工程职业生涯?
根据我们在数据工程领域的丰富经验,我们建议采用 3 阶段方法。
精通SQL和Python
使用 Spark 学习数据工程
在入门级,您可以开始申请工作,并且很可能公司会雇用具有这些技能的人。
如果您是一位经验丰富的专业人士,您可能需要选择其他技能,例如 Kafka、云、数据建模等,才能担任高级数据工程师或解决方案架构师的角色。
我需要学习哪门课程才能开始学习数据工程?
我们的数据工程基础实践 — SQL、Python 和 Spark 课程专为希望以数据工程师角色开始职业生涯或从主机开发人员、数据库或 PL/SQL 等传统角色过渡到数据工程的任何人而设计开发人员、数据仓库或 ETL 开发人员等。
为什么我需要从事数据工程职业?
大多数 IT 解决方案会生成大量数据,所有公司都必须从这些数据中获得洞察力。数据工程是将原始数据转换为可呈现格式的现代方式。与软件工程师、应用工程师、DevOps 工程师等一起,它是当今排名前 5 位的 IT 工程角色之一。
成为数据工程师需要具备哪些技能?
以下是成为数据工程师所需的技能。
编程和 SQL 是数据工程师的基本技能。
更深入地了解 Pandas、Spark 等库,以构建强大的批处理和实时管道。
人们需要对 Spark、Kafka 等工具有广泛的了解,才能为给定的用例构建专门构建的解决方案。
精通大数据技术,因为大量项目与大量的数据相关。
了解调度概念和工具,例如 Airflow、Control M、Appworx 等
能够在基于敏捷的环境中工作。
哪种编程语言应该考虑成为数据工程师? Python 还是 Scala 或 Java?
Python是与数据工程相关的最梳理的编程语言。 你可以看到我最近在 LinkedIn 上的一个受欢迎的团体中进行的民意调查结果。 该组适用于数据仓库专业人员。
为什么 Python 是数据工程中最受欢迎的编程语言?
以下是 Python 成为数据工程中最受欢迎的编程语言的一些原因。
函数式编程能力
代码可读性
Python 开发人员的可用性
适用于几乎所有常见用例的丰富而强大的库
支持所有专用数据工程技术,如 Spark、Kafka 等。
更广泛的开源社区支持
Python 用于更广泛的用例集,例如 Web 或移动应用程序开发、支持和管理任务的自动化、数据集成、数据迁移、数据工程、数据科学等。
为什么对数据工程师的需求日益增加?
数据库开发、ETL、数据集成、数据迁移等所有常规任务都在数据工程下进行整合。随着软件开发行业的成熟,组织越来越扁平化,职位也越来越少。
在应用工程师之后,数据工程师将排在第二位,其次是 DevOps 工程师。
数据工程师的职责是什么?
以下是数据工程师的一些常见日常职责。
从不同来源获取数据到数据湖中
构建批处理管道以应用业务规则并以可使用的格式获取数据。这些批处理管道通常会支持应该每天发送的报告。
构建批处理管道以应用数据科学或机器学习算法来支持推荐引擎等系统。
构建实时管道以构建互补应用程序,例如忠诚度计划、客户服务等。
构建基于实时数据科学或机器学习的管道,以支持企业欺诈检测等用例。