用于数据工程和大数据的 Apache Spark 和 PySpark
学习 Apache Spark 和 PySpark 来构建可扩展的数据管道、处理大数据并实施有效的 ML 工作流程。
讲师:Uplatz Training
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 了解大数据基础知识:解释大数据的关键概念以及从 Hadoop 到 Spark 的演变。
- 了解 Spark 架构:描述 Apache Spark 的核心组件和架构,包括 RDD、DataFrames 和 Datasets。
- 设置 Spark:以本地和独立模式安装和配置 Spark 以进行开发和测试。
- 编写 PySpark 程序:使用 Python 创建和运行 PySpark 应用程序,包括对 RDD 和 DataFrames 的基本操作。
- 掌握 RDD 操作:对 RDD 执行转换和操作,例如 map、filter、reduce 和 groupBy,同时利用缓存和持久性。
- 使用 SparkContext 和 SparkSession:了解它们的作用并在 PySpark 应用程序中有效地管理它们。
- 使用 DataFrames:创建、操作和优化 DataFrames 以进行结构化数据处理。
- 在 SparkSQL 中运行 SQL 查询:使用 SparkSQL 查询 DataFrames 并将 SQL 与 DataFrame 操作集成。
- 处理各种数据格式:读取和写入 CSV、JSON、Parquet 和 Avro 等格式的数据,同时通过分区和存储桶优化数据存储。
- 构建数据管道:设计和实施用于数据提取、转换和聚合的批处理和实时数据管道。
- 学习 Spark Streaming 基础知识:使用 Spark Streaming 处理实时数据,包括使用结构化流和与 Kafka 集成。
- 优化 Spark 应用程序:通过了解执行模型、DAG、shuffle 操作和内存管理来调整 Spark 应用程序的性能。
- 利用高级 Spark 功能:利用高级 DataFrame 操作(包括连接、聚合和窗口函数)进行复杂的数据转换。
- 探索 Spark 内部结构:深入了解 Spark 的执行模型、Catalyst Optimizer 以及广播和分区等技术。
- 学习 Spark MLlib 基础知识:使用 Spark MLlib 构建机器学习管道,应用线性回归和逻辑回归等算法。
- 开发实时流应用程序:实现状态流、处理延迟数据并使用 Spark Streaming 中的检查点管理容错。
- 从事顶点项目:设计并实施端到端数据管道,将批处理和流数据处理与机器学习相结合。
- 为行业角色做准备:将 Spark 应用于实际用例,通过 Spark 技能增强简历,为数据和 ML 工程的技术面试做准备。
探索相关主题
- Apache Spark
- 数据科学
- 发展
要求
- 热情和决心让你在世界上留下自己的印记!
描述
热烈欢迎Uplatz举办的Apache Spark 和 PySpark 数据工程和大数据课程。
Apache Spark就像一个处理海量数据的超高效引擎。想象一下,它是一个强大的工具,可以处理单台计算机无法处理的庞大信息。它通过将工作分布在一组计算机中来实现这一点,从而使整个过程更快。
Spark 和 PySpark 提供了一种强大而有效的方法来处理和分析大型数据集,使其成为数据科学家、工程师和任何处理大数据的人的必备工具。
Spark 的主要特色如下:
-
速度: Spark 可以非常快地处理数据,即使是 PB 级的数据,因为它会分配工作负载并在内存中完成大量处理。
-
易于使用: Spark 使用 Python、Java、Scala 和 R 等语言提供简单的 API,方便广泛的开发人员使用。
-
多功能性: Spark可以处理各种类型的数据处理任务,包括:
-
批处理:批量分析大型数据集。
-
实时流:处理到达的数据,如社交媒体提要或传感器数据。
-
机器学习:构建和训练人工智能模型。
-
图形处理:分析数据点之间的关系,如社交网络中的关系。
-
PySpark专为想要利用 Spark 功能的 Python 用户而设计。它本质上是 Spark 的 Python API,允许您使用熟悉的 Python 代码编写 Spark 应用程序。
PySpark 如何带来价值:
-
Pythonic 接口: PySpark 让您使用 Python 的语法和库与 Spark 交互,从而使 Python 开发人员更轻松地处理大数据。
-
与 Python 生态系统集成:您可以将 PySpark 与其他 Python 工具和库(如 Pandas 和 NumPy)无缝集成,以进行数据操作和分析。
-
社区支持: PySpark 拥有庞大而活跃的社区,为用户提供充足的资源、教程和支持。
Apache Spark 和 PySpark 用于数据工程和大数据 – 课程大纲
本课程旨在全面了解 Spark 和 PySpark,从基本概念到高级实现,确保您做好充分准备,应对现实世界中的大规模数据分析。本课程包括理论、实践练习(包括项目工作)。
-
Apache Spark 简介
-
大数据和 Apache Spark 简介、大数据概述
-
Spark 的演变:从 Hadoop 到 Spark
-
Spark 架构概述
-
Spark 的关键组件:RDD、DataFrames 和 Datasets
-
-
安装和设置
-
在本地模式下设置 Spark(独立)
-
Spark Shell 简介(Scala 和 Python)
-
-
PySpark 基础知识
-
PySpark 简介:Spark 的 Python API
-
PySpark 安装和配置
-
编写并运行您的第一个 PySpark 程序
-
-
了解 RDD(弹性分布式数据集)
-
RDD 概念:创建、转换和操作
-
RDD 操作:Map、Filter、Reduce、GroupBy 等。
-
持久化和缓存 RDD
-
-
SparkContext 和 SparkSession 简介
-
SparkContext 与 SparkSession:角色和职责
-
在 PySpark 中创建和管理 SparkSession
-
-
使用 DataFrames 和 SparkSQL
-
DataFrames 简介
-
了解 DataFrames:模式、行和列
-
从各种数据源(CSV、JSON、Parquet 等)创建 DataFrame
-
基本 DataFrame 操作:Select、Filter、GroupBy 等。
-
-
高级 DataFrame 操作
-
连接、聚合和窗口函数
-
在 PySpark 中处理缺失数据和数据清理
-
优化 DataFrame 操作
-
-
SparkSQL 简介
-
SparkSQL 基础知识:在 DataFrames 上运行 SQL 查询
-
同时使用 SQL 和 DataFrame API
-
创建和管理临时视图和全局视图
-
-
数据源和格式
-
使用不同的文件格式:Parquet、ORC、Avro 等。
-
读取和写入各种格式的数据
-
数据分区和存储桶
-
-
实践课程:构建数据管道
-
设计和实现数据提取管道
-
执行数据转换和聚合
-
-
Spark Streaming 简介
-
实时数据处理概述
-
Spark Streaming 简介:架构和基础知识
-
-
高级 Spark 概念和优化
-
理解 Spark 内部原理
-
Spark 执行模型:作业、阶段和任务
-
DAG(有向无环图)和 Catalyst 优化器
-
理解 Shuffle 操作
-
-
性能调优与优化
-
Spark 配置和参数介绍
-
Spark 中的内存管理和垃圾收集
-
性能调优技术:缓存、分区和广播
-
-
使用数据集
-
Spark 数据集简介:类型安全和性能
-
RDD、DataFrames 和 Datasets 之间的转换
-
-
SparkSQL 高级
-
SparkSQL 中的查询优化技术
-
UDF(用户定义函数)和 UDAF(用户定义聚合函数)
-
在 DataFrames 中使用 SQL 函数
-
-
Spark MLlib 简介
-
Spark MLlib 概述:使用 Spark 进行机器学习
-
使用 ML 管道:转换器和估算器
-
基本机器学习算法:线性回归、逻辑回归等。
-
-
实践课程:使用 Spark MLlib 进行机器学习
-
在 PySpark 中实现机器学习模型
-
超参数调整和模型评估
-
-
实践练习和项目工作
-
优化技术实践
-
使用 MLlib 扩展迷你项目
-
-
实时数据处理和高级流媒体
-
高级 Spark Streaming 概念
-
结构化流:连续处理模型
-
窗口操作和状态流
-
处理延迟数据和事件时间处理
-
-
与 Kafka 集成
-
Apache Kafka 简介:基础知识和用例
-
将 Spark 与 Kafka 集成以实现实时数据提取
-
在 PySpark 中处理来自 Kafka 的流数据
-
-
容错和检查点
-
确保流式应用程序的容错能力
-
实现检查点和状态管理
-
处理故障并恢复流应用程序
-
-
生产中的 Spark Streaming
-
部署 Spark Streaming 应用程序的最佳实践
-
流式作业监控和故障排除
-
扩展 Spark Streaming 应用程序
-
-
实践课程:实时数据处理管道
-
设计和实现实时数据管道
-
使用来自多个来源的流数据
-
-
顶点项目 – 构建端到端数据管道
-
项目简介
-
顶点项目概述:端到端大数据管道
-
定义问题陈述和数据源
-
-
数据提取和预处理
-
设计批量和流数据的数据提取管道
-
实施数据清理和转换工作流程
-
-
数据存储和管理
-
将处理后的数据存储在 HDFS、Hive 或其他数据存储中
-
管理数据分区和存储桶以提高性能
-
-
数据分析和机器学习
-
对处理后的数据进行探索性数据分析 (EDA)
-
构建和部署机器学习模型
-
-
实时数据处理
-
使用结构化流实现实时数据处理
-
将流数据与机器学习模型相结合
-
-
性能调优与优化
-
优化整个数据管道的性能
-
确保可扩展性和容错能力
-
-
行业用例和职业准备
-
Spark 和 PySpark 的行业用例
-
讨论 Spark 在各个行业的实际应用
-
使用 Spark 进行大数据分析的案例研究
-
-
面试准备和简历制作
-
准备 Spark 和 PySpark 技术面试
-
利用大数据技能打造出色的简历
-
-
最终项目准备
-
展示 Capstone 项目以获得简历和说明帮助
-
学习 Spark 和 PySpark 可以为您的技能和职业前景带来诸多好处。通过学习 Spark 和 PySpark,您可以获得各行各业都急需的宝贵技能。这些知识可以带来令人兴奋的职业机会、更高的收入潜力以及解决当今数据驱动世界中具有挑战性的数据问题的能力。
学习 Spark 和 PySpark 的好处
-
高需求技能: Spark 和 PySpark 是大数据行业最抢手的技能之一。各行各业的公司都依赖这些技术来处理和分析数据,因此对具备该领域专业知识的专业人士的需求旺盛。
-
增加收入潜力:由于对 Spark 和 PySpark 技能的需求量大且专业性强,精通这些技术的专业人员通常比使用传统数据处理工具的专业人员获得更高的薪水。
-
职业发展:掌握 Spark 和 PySpark 可以为各种职业发展机会打开大门,例如成为数据工程师、大数据开发人员、数据科学家或机器学习工程师。
-
增强的数据处理能力: Spark 和 PySpark 允许您有效地处理海量数据集,使您能够应对复杂的数据挑战并提取传统工具无法实现的宝贵见解。
-
提高效率和生产力: Spark 的内存处理和优化的执行引擎显著加快了数据处理任务的速度,从而提高您的工作效率和生产力。
-
多功能性和灵活性: Spark 和 PySpark 可以处理各种数据处理任务,包括批处理、实时流、机器学习和图形处理,使您成为多才多艺的数据专业人士。
-
强大的社区支持: Spark 和 PySpark 拥有庞大而活跃的社区,提供充足的资源、教程和支持,帮助您学习和成长。
职业范围
-
数据工程师:设计、构建和维护使用 Spark 和 PySpark 收集、存储和处理大型数据集的基础设施。
-
大数据开发人员:开发和部署 Spark 应用程序来处理和分析数据以满足各种业务需求。
-
数据科学家:利用 PySpark 对大型数据集执行数据分析、机器学习和统计建模。
-
机器学习工程师:使用 PySpark 构建和部署机器学习模型,执行分类、预测和推荐等任务。
-
数据分析师:使用 PySpark 分析大型数据集,以识别可以推动业务决策的趋势、模式和见解。
-
商业智能分析师:使用 Spark 和 PySpark 从各种来源提取和分析数据,以生成商业智能报告和仪表板。
本课程适合哪些人:
- 数据工程师:寻求使用 Apache Spark 和 PySpark 构建可扩展大数据管道的专业人士。
- 机器学习工程师:旨在将大数据框架集成到机器学习工作流程中以进行分布式模型训练和预测的工程师。
- 任何渴望从事数据工程、大数据、数据科学和机器学习职业的人。
- 数据科学家:希望利用 Spark 的高级功能有效地处理和分析大型数据集的人。
- 对数据工程、机器学习、人工智能研究和数据科学感兴趣的新手和初学者。
- ETL 开发人员:有兴趣从传统 ETL 工具过渡到现代分布式大数据处理系统的开发人员。
- 解决方案架构师:设计企业级解决方案并需要可扩展大数据框架专业知识的专业人士。
- 数据架构师:负责设计数据系统的专家,他们希望将 Spark 纳入其架构中以提高性能和可扩展性。
- 软件工程师:转向数据密集型应用程序或大数据工程角色的开发人员。
- IT 专业人士:希望扩展分布式计算和大数据框架知识的通才。
- 学生和应届毕业生:有志于进入大数据领域的具有基础编程知识的数据工程师、科学家或分析师。
- 数据库管理员:旨在了解现代大数据处理以补充其数据库专业知识的 DBA。
- 技术经理和架构师:需要对 Spark 和 PySpark 有基础知识以有效管理团队和项目的领导者。
- 云工程师:在 AWS、Azure 或 Google Cloud 等云平台上开发数据工作流的工程师。
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。