使用 SQL、Python 和 PySpark 的数据工程基础
通过大量的动手任务和使用实验室的练习来学习关键的数据工程技能,例如 SQL、Python 和 PySpark。
讲师:Durga Viswanatha Raju Gadiraju
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将会学到的
- 设置开发环境以学习在 GCP 上构建数据工程应用程序
- 使用 Postgres 进行数据工程的数据库基础知识,例如创建表、索引、运行 SQL 查询、使用重要的预定义函数等。
- 使用 Python 的数据工程编程要点,例如基本的编程构造、集合、Pandas、数据库编程等。
- 使用 Spark Dataframe API (PySpark) 的数据工程。学习所有重要的 Spark Data Frame API,例如 select、filter、groupBy、orderBy 等。
- 使用 Spark SQL(PySpark 和 Spark SQL)的数据工程。了解如何使用 SELECT、WHERE、GROUP BY、ORDER BY 等编写高质量的 Spark SQL 查询。
- Spark Metastore 的相关性以及 Dataframes 和 Spark SQL 的集成
- 能够利用 Python 作为编程语言使用 Spark 构建数据工程管道
- 在构建数据工程管道时使用不同的文件格式,例如 Parquet、JSON、CSV 等
- 设置自支持单节点 Hadoop 和 Spark 集群以在 HDFS 和 YARN 上获得足够的实践
- 了解完整的 Spark 应用程序开发生命周期以使用 Pyspark 构建 Spark 应用程序。使用 Spark UI 查看应用程序。
要求
- 配置不错的笔记本电脑(最低 4 GB RAM 和双核)
- 使用可用积分或 AWS 访问权限注册 GCP
- 在云平台上设置自助实验室(除非你有信用,否则你可能需要支付适用的云费用)
- 非常需要 CS 或 IT 学位或以前的 IT 经验
说明
作为本课程的一部分,你将学习与使用 SQL、Python 作为 Hadoop、Hive 或 Spark SQL 以及 PySpark 数据框架 API 构建数据管道相关的所有数据工程基础知识。你还将了解在多节点集群上使用 Docker 和 PySpark 的 Python 应用程序的开发和部署生命周期。你还将获得有关使用 Spark UI 查看 Spark 作业的基本知识。
关于数据工程
数据工程只不过是根据我们的下游需求处理数据。作为数据工程的一部分,我们需要构建不同的管道,例如批处理管道、流管道等。与数据处理相关的所有角色都合并在数据工程下。按照惯例,它们被称为 ETL 开发、数据仓库开发等。
以下是学习者在学习关键数据工程技能(如 Python、SQL、PySpark 等)时必须面对的一些挑战。
- 有一个合适的环境,可以让 Hadoop、Spark、Hive 等协同工作。
- 高质量的内容和适当的支持。
- 足够的练习任务和练习
本课程旨在解决各级专业人员获得所需数据工程技能的这些关键挑战。
为了确保你花时间学习而不是与技术挑战作斗争,这就是我们所做的。
- 确保我们有一个配置正确的系统,并使用 Docker 和所有必需的 Python、SQL、Pyspark 以及 Spark SQL 材料快速建立一个实验室。它将解决与网络、数据库集成等相关的许多痛点。如果你在设置环境时遇到问题,请随时通过 Udemy Q&A 与我们联系。
- 你将从基础技能开始,例如Python以及使用基于 Jupyter 的环境的SQL 。大多数讲师都有相当多的任务,并且在每个模块结束时,都有足够的练习或练习测试来评估所教授的技能。
- 一旦你熟悉了使用 Python 和 SQL 进行编程,那么你将确保你了解如何快速设置和访问单节点 Hadoop 和 Spark 集群。
- 内容经过精简,你可以使用Jupyter Lab等学习者的友好界面来练习它们。
如果你最终注册了该课程,如果你喜欢该内容,请不要忘记给我们评分 5*。如果没有,请随时与我们联系,我们将解决你的疑虑。
本课程亮点
以下是使用 Python、SQL、Hadoop、Spark 等技术的数据工程课程的一些亮点。
- 该课程由 20 多年经验丰富的资深人士 ( Durga Gadiraju ) 设计,他的大部分经验都与数据有关。他拥有十多年的数据工程和大数据经验,并获得多项认证。他有培训数十万数据工程和大数据方面的 IT 专业人员的历史。
- 简化了学习数据工程或大数据(如 Hadoop、Spark、Hive 等)的所有关键工具的设置。
- 在过去的几个月里,100% 的问题得到了专门的支持。
- 大量具有真实世界经验和数据集的材料。该材料在 Git 存储库和你要设置的实验室中都可用。
- 30 天退款保证。
内容详情
作为本课程的一部分,你将学习数据工程基础知识,例如 SQL、使用 Python 和 Spark 进行编程。这是课程的详细议程。
- 数据工程实验室 – Python 和 SQL
你将从在 Cloud9 或你的 Mac 或 PC 上建立自我支持的数据工程实验室开始,这样你就可以利用我们提供的大量任务和练习来学习与数据工程相关的关键技能。当你通过与 SQL 和 Python 相关的部分时,还将指导你设置 Hadoop 和 Spark Lab。
- 预置 AWS Cloud9 实例(以防你的 Mac 或 PC 没有足够的容量)
- 设置 Docker Compose以启动容器以学习Python和SQL(使用 Postgresql)
- 通过使用 Docker 的 Jupyter Lab 环境设置访问材料,并通过动手实践学习。
设置环境后,可以直接访问材料。
- 数据库基础 – 使用 Postgres 的 SQL
精通 SQL 以负责构建数据工程管道非常重要。SQL 用于理解数据、执行临时分析以及构建数据工程管道。
- Postgres 入门
- 基本数据库操作(CRUD 或插入、更新、删除)
- 编写基本 SQL 查询(过滤、连接和聚合)
- 使用 Postgres DDL 命令创建表和索引
- 使用 Postgres DDL 命令对表和索引进行分区
- 使用 SQL 的预定义函数(字符串操作、日期操作和其他函数)
- 使用 Postgresql编写高级 SQL 查询
- 使用 Python 进行编程基础
Python 是开发数据工程应用程序的首选编程语言。作为与 Python 相关的几个部分的一部分,你将学习 Python 的大部分重要方面,以有效地构建数据工程应用程序。
- 执行数据库操作
- 开始使用 Python
- Python中的基本编程结构(for循环,if条件)
- Python 中的预定义函数(字符串操作、日期操作和其他标准函数)
- Python中list和set等Collection概述
- Python中的dict和tuple等集合概述
- 在 Python 中使用循环操作集合。这主要是为了在 Python Collections 周围获得足够的 Python Programming 练习。
- 了解Python 中的Map Reduce 库。你将学习map、filter等功能。你还将了解有关itertools的详细信息。
- Python Pandas 库概述。你将学习如何读取文件,通过应用标准转换(如过滤、连接、排序等)处理 Pandas Data Frame 中的数据。此外,你将学习如何将数据写入文件。
- 使用 Python 进行数据库编程- CRUD 操作
- 使用 Python 进行数据库编程-批处理操作。将充分强调将数据批量或批量加载到数据库中的最佳实践。
- 搭建单节点数据工程集群进行实践
大规模构建数据工程应用程序的最常见方法是使用与 HDFS 和 YARN 集成的 Spark。在开始使用 Spark 和 Hadoop 进行数据工程之前,我们需要设置一个环境来练习使用 Spark 进行数据工程。作为本节的一部分,我们将主要专注于设置单节点集群,以学习与使用分布式框架(如 Spark 和 Hadoop)的数据工程相关的关键技能。
我们利用 Docker 简化了设置 Hadoop、Hive 和 Spark 的复杂任务。一个小时内,你将能够在不遇到太多技术问题的情况下设置集群。但是,如果你遇到任何问题,请随时与我们联系,我们将帮助你克服挑战。
- 掌握构建数据工程应用程序所需的 Hadoop 技能
作为本节的一部分,你将主要关注 HDFS 命令,以便我们可以将文件复制到 HDFS。复制到 HDFS 的数据将用作使用 Spark 和 Hadoop 以及 Python 作为编程语言构建数据工程管道的一部分。
- HDFS 命令概述
- 使用适当的 HDFS 命令使用 put 或 copyFromLocal 命令将文件复制到 HDFS
- 使用 HDFS 命令检查文件是否正确复制到 HDFS。
- 使用 HDFS 命令(例如 du、df 等)获取文件的大小。
- 一些与 HDFS 相关的基本概念,例如块大小、复制因子等。
- 使用 Spark SQL 进行数据工程
让我们深入研究 Spark SQL,以了解如何使用它来构建数据工程管道。Spark with SQL 将使我们能够利用 Spark 的分布式计算功能以及易于使用的开发人员友好的 SQL 样式语法。
- Spark SQL入门
- 使用Spark SQL的基本转换
- 管理表- Spark SQL中的基本 DDL 和 DML
- 管理表– DML 和使用Spark SQL创建分区表
- 用于操作字符串、日期、空值等的 Spark SQL 函数概述
- 使用 Spark SQL 进行排名、高级聚合等的窗口函数。
- 使用 Spark Data Frame API 进行数据工程
Spark Data Frame API 是利用 Spark 的分布式计算能力大规模构建数据工程应用程序的另一种方法。具有应用程序开发背景的数据工程师可能更喜欢 Data Frame API 而不是 Spark SQL 来构建数据工程应用程序。
- 使用Spark 或 Pyspark 数据帧 API的数据处理概述。
- 使用 Pyspark 数据帧 API从 Spark 数据帧中投影或选择数据、重命名列、提供别名、从数据帧中删除列等。
- 使用 Spark 或 Pyspark 数据框 API处理列数据– 你将学习操作字符串、日期、空值等的函数。
- 使用 Pyspark 数据帧 API 对 Spark 数据帧进行基本转换,例如使用 filter/where、groupBy 和 agg、sort 或 orderBy等函数进行过滤、聚合和排序。
- 使用 Pyspark 数据帧 API(例如 join)连接 Spark 数据帧上的数据集。你将使用正确的示例学习内连接、外连接等。
- 使用 Pyspark 数据帧 API 对 Spark 数据帧进行窗口化函数以执行高级聚合、排名和分析函数
- Spark Metastore 数据库和表以及Spark SQL 和 Data Frame API 之间的集成
- Spark 应用程序的开发、部署和执行生命周期
一旦你使用基于 Jupyter 的环境浏览了与 Spark 相关的内容,我们还将向你详细介绍 Spark 应用程序通常是如何使用 Python 开发、部署和审查的。
- 使用 Pycharm为Spark 应用程序开发设置Python 虚拟环境和项目
- 使用 Pycharm 和 Python了解完整的Spark 应用程序开发生命周期
- 为 Spark 应用程序构建 zip 文件,复制到它应该运行和运行的环境中。
- 了解如何查看Spark 应用程序执行生命周期。
本数据工程基础课程的目标受众
来自不同背景的人可以立志成为数据工程师。我们涵盖了希望以数据工程师身份进入 IT 领域的有抱负的人以及希望从遗留技术推动其职业生涯向数据工程发展的专业人士的大部分数据工程基本知识。
- 大学生和入门级专业人士可以获得有关数据工程的实践专业知识。本课程将提供足够的技能来面对入门级数据工程师的面试。
- 经验丰富的应用程序开发人员可以获得与数据工程相关的专业知识。
- 传统的数据仓库开发人员、ETL 开发人员、数据库开发人员、PL/SQL 开发人员获得足够的技能,从而转变为成功的数据工程师。
- 测试人员提高他们与数据工程应用程序相关的测试能力。
- 任何其他希望通过动手实践获得有关数据工程知识的动手 IT 专业人员。
练习数据工程技能的先决条件
以下是想要成为数据工程师的人的先决条件。
- 后勤
- 配置不错的计算机(至少 4 GB RAM,但非常需要 8 GB)。但是,如果你没有多节点集群,这还不够。我们将引导你通过更便宜的选择来设置环境和练习。
- 双核是必需的,四核是非常需要的
- Chrome 浏览器
- 高速互联网
- 所需背景
- 工程学或科学学位
- 使用电脑的能力
- 非常需要具有数据库和任何编程语言的知识或工作经验
学习所需数据工程技能的培训方法
以下是与培训方法相关的详细信息,让你掌握所有关键的数据工程技能,推动你的职业生涯迈向数据工程。
- 它使用 Udemy 提供的参考资料、代码片段和视频自定进度。
- 可以使用我们提供的环境,也可以使用 Docker on AWS 或 GCP 或他们选择的平台设置自己的环境。
- 我们建议每周花4 到 5 个小时完成 2 个模块。
- 强烈建议你完成最后的练习,以确保你能够满足每个模块的所有关键目标。
- 将通过 Udemy 问答提供支持。
该课程的设计方式是人们可以通过课程进行自我评估并确认是否获得了技能。
- 这是我们建议你参加本课程的方法。
- 该课程涉及数千个任务,你应该在完成课程时进行练习。
- 你还应该花时间理解这些概念。如果你不理解这个概念,我建议你继续前进,稍后再回到主题。
- 通过综合练习,看看你是否能够解决问题。
- 确保遵循我们在课程中定义的顺序。
- 在每个部分或模块之后,确保完成练习。我们已经提供了足够的信息来验证输出。
- 在课程结束时,你可以得出结论,你能够掌握与 SQL、Python 和 Spark 相关的基本技能。
此课程面向哪些人:
- 计算机科学或 IT 学生或其他对 IT 充满热情的毕业生
- 想要转换到数据工程角色的数据仓库开发人员
- 想要转换到数据工程角色的 ETL 开发人员
- 想要转换到数据工程角色的数据库或 PL/SQL 开发人员
- 想要转换到数据工程角色的 BI 开发人员
- QA 工程师学习数据工程
- 应用程序开发人员获得数据工程技能