【数据工程】2023年数据工程路线图
视频号
微信公众号
知识星球
2023年我将如何学习数据工程(如果我可以重新开始的话)
市场上有这么多不同的工具和技术,开始数据工程的职业生涯可能会让人不知所措。
Big Data Landscape — https://mattturck.com/data2021/
常见的问题是,“我应该先学习Databricks还是Snowflake?我应该专注于Airflow还是Hadoop?”
在这个博客中,我将带你从基本水平到高级水平,掌握成为一名数据工程师所需的所有资源和技能。
我将技能分为三种:
- 对于那些对这个领域完全陌生并希望将自己的职业生涯从其他领域转向数据工程的人来说。
- 对于那些了解一些基本知识并想知道如何前进的人来说。
- 适合那些有一定经验并希望在职业生涯中成长的人。
第1节-探索未知
你是否希望将自己的职业生涯转向数据工程,但却被可用的工具和技术的数量所淹没?你并不孤单。许多人发现自己处于同样的位置,无论他们是在非科技工作,还是学生或新生,或者是在不同的科技工作并希望转换。
如果你属于这些类别中的任何一类,你需要做的第一件事就是掌握你的计算机科学基础。
如果你是这个领域的新手,那么在进入数据工程之前,你需要了解计算机科学中使用的基本概念和术语。
这方面的一个很好的资源是哈佛大学CS50在YouTube上提供的系列节目。
通过观看本系列视频,您将获得对计算机科学的基本理解,而无需获得学位或花费数月时间学习基本知识。
一旦你掌握了计算机科学的基本知识,你就可以进入下一步:学习数据工程所需的技能。
数据工程师需要具备三项基本技能:
- 编程语言:作为一名数据工程师,你将编写大量的转换工作,部署脚本,验证和测试它们,为此,你需要掌握一种编程语言。三种流行的选择是Java、Scala和Python。如果你是初学者,Python是一个很好的选择,因为它很容易学习和理解。
- SQL:结构化查询语言是数据行业的王者。无论你是数据分析师、数据工程师还是数据科学家,你都会发现自己经常使用SQL。SQL是与关系数据库通信的方式,了解如何使用它来选择、插入、更新和删除数据非常重要。
- Linux命令:大多数数据工程任务都是在远程机器或云平台上完成的,这些机器通常在Linux操作系统上运行。了解如何使用这些机器并理解基本的Linux命令是很重要的。
第2节:建立牢固的基础
在这个阶段,你的目标应该是学习数据工程所需的最低水平的技能,以及如何开始你的数据工程师职业生涯。
你不必花时间学习市场上可用的每一项技能或工具;在这个阶段,您只需要专注于数据工程所需的高要求和重要级别的技能集。
在这个阶段,我们将专注于为数据工程打下坚实的基础。
您需要关注的第一项基本技能是理解数据仓库。
这有两个部分:
- -学习数据仓库基础知识
- -了解Snowflake或BigQuery等工具。
数据仓库的基本原理通常包括理解OLTP、维度表、提取、转换、加载和数据建模,如理解事实表和维度表。
如果你喜欢从书中学习,你可以阅读Ralph Kimball的《数据仓库工具包》。
这是关于数据仓库的最好的书之一。
一旦学习了数据仓库的基本原理,就可以将所学知识应用到特定的工具中。
市场上有许多不同的数据仓库,如Snowflake、BigQuery和Redshift。
我建议学习雪花,因为它的需求与日俱增。
除了了解数据存储,您还需要了解数据处理框架。
有两个主要框架:
- -批量处理:批量处理数据,例如每天处理一到两次上个月的数据。
- -实时处理:实时处理数据。
对于批处理,大多数公司都使用Apache Spark。这是一个用于数据处理的开源框架。
您可以从学习Apache Spark基础知识开始,然后学习为Apache Spark环境提供动力的工具,如Databricks、AWS EMR、GCP Data Proc或您在市场上找到的任何其他工具。
我的建议是使用SparkCon和Databrick进行练习,并使用PySpark(Python)作为语言。
对于实时处理,我们有Apache Kafka、Apache Flink和Apache Storm等框架和工具。你可以选择一个并了解它。
我们学习的方式是把不同的问题分解成更小的部分。
首先,我们专注于学习基础知识,然后我们学习市场上一种需求很高的工具,您可以将基础知识应用于此。
作为一名数据工程师,你需要掌握的第三项技能是学习云平台。
有三种主要选择:
- -Microsoft Azure
- -亚马逊网络服务(AWS)
- -谷歌云平台(GCP)
我的职业生涯始于AWS,但你可以选择任何云平台,因为一旦你学会了一个,就更容易掌握其他平台。云平台的基本概念是相似的,只是在用户界面、成本和其他因素上略有不同。
在数据工程中,您需要创建数据管道来处理数据。数据管道,也称为ETL管道,用于从关系数据库中提取数据,应用转换和业务逻辑,然后将数据加载到目标位置。要管理这些操作,您需要了解工作流管理工具。
一个受欢迎的选择是Apache Airflow
Airflow是一个开源的工作流管理工具,允许您创建、安排和监控数据管道。它在行业中得到了广泛的应用,并拥有庞大的用户群体。通过学习Airflow,您将能够创建数据管道并自动化ETL过程,使您作为数据工程师的工作更加轻松。
第3节:现代数据堆栈和高级技能
作为一名数据工程师,市场上有很多不同的工具和方法。
保持最新信息并了解所有信息是很重要的。除此之外,您还需要学习如何设计整个数据基础架构,如何管理和扩展系统,并掌握高级技能。
在本节中,我们将重点学习数据工程所需的高级技能。
我推荐的第一件事是探索现代数据堆栈(MDS)。
有一个工具列表,您可以进一步了解和理解它们的核心用例。
- 我强烈建议探索的一个工具是DBT(数据构建工具),因为许多公司都在使用它,而且它在市场上越来越受欢迎。
- 然而,重要的是不要沉迷于太多的工具,只需了解每一个工具的核心用例。
- 另一个重要方面是了解安全性、网络、部署和其他相关主题。
您还可以了解Docker或Kubernetes,它们在生产中部署数据管道时非常有用。
我建议阅读以下书籍:
- -设计数据密集型应用程序
- — Fundamentals of Data Engineering
此外,阅读AWS和GCP等平台上的客户案例研究可以让您更好地了解如何在现实世界中使用这些工具。
Customer Success Stories: Case Studies, Videos, Podcasts, Innovator stories
我已经制作了一个关于这个主题的详细视频,并提供了一份关于课程和项目的完整文档
- 84 次浏览