如何在 Spark 并行处理中进行并行化? [使用 RDD]
已发表: 2020-09-03在过去的几年里,数据的产生和消费增加了 n 倍。 随着这么多平台的出现,仔细处理和管理数据变得至关重要。 AI(人工智能)和 ML(机器学习)通过为我们的问题找到更好的解决方案,使我们的数字体验更加顺畅。 因此,公司现在正朝着处理数据的方向发展,并从中寻找洞察力。
同时,公司、网络玩家和移动巨头产生的数据是巨大的。 因此,引入了大数据的概念。 自从大数据出现以来,管理和操作大数据的工具也开始受到欢迎和重视。
Apache Spark 是操纵和处理大量数据集以从这些数据中获得洞察力的工具之一。 由于所需的计算能力太强,这些大数据集无法一次性处理或管理。
这就是并行处理出现的地方。 我们将从简要了解并行处理开始,然后继续了解如何在 Spark 中进行并行化。
阅读:Apache Spark 架构
目录
什么是并行处理?
并行处理是大数据系统的基本操作之一。 当您的任务很重要时,您会碰巧分成较小的任务,然后独立解决每个任务。 大数据的并行处理涉及相同的过程。

从技术上讲,并行处理是一种在不同处理器中运行单个大问题的两个或多个部分的方法。 这减少了处理时间并提高了性能。
由于您无法在一台机器上对大型数据集执行操作,因此您需要一些非常可靠的东西。 这正是 Spark 中的并行化发挥作用的地方。 我们现在将带您了解 Spark 并行处理以及如何在 spark 中进行并行化以从大数据集中获得正确的输出。
火花并行处理
Spark 应用程序以独立进程的形式运行,这些进程驻留在集群上,并由主程序中的 SparkContext 协调。
运行 Spark 程序的第一步是使用 Spark-submit 提交作业。 spark-submit 脚本用于在集群上启动程序。
使用 spark-submit 脚本提交作业后,该作业将转发到 sparkcontext 驱动程序。 Sparkcontext 驱动程序是 Spark 的入口点。 Sparkcontext 将程序路由到 Cluster Master Node 等模块,RDD 也由这些 Sparkcontext 驱动程序创建。
然后将该程序提供给集群主节点。 每个集群都有一个主节点来执行所有必要的处理。 它将程序进一步转发到工作节点。
工作节点是解决问题的节点。 主节点包含使用 Sparkcontext 驱动程序执行的执行程序。
资源
什么是弹性分布式数据集 (RDD)?
RDD 是 Apache Spark 的基础数据结构。 此数据结构是在集群的不同节点上计算的不可变对象集合。 Spark RDD 中的每个数据集都在不同的服务器上进行了逻辑分区,因此计算可以在每个节点上顺利运行。

让我们更详细地了解 RDD,因为它构成了 Spark 中并行化的基础。 我们可以把名字分成三部分,就知道数据结构为什么这么命名了。
- 弹性:这意味着数据结构在 RDD 沿袭图的帮助下具有容错性,因此它可以重新计算由于节点故障而导致的丢失分区或损坏的分区。
- 分布式:这适用于所有使用分布式环境的系统。 它被称为分布式,因为数据在不同/多个节点上可用。
- 数据集:数据集表示您使用它的数据。 您可以导入任何格式的可用数据集,例如 .csv、.json、文本文件或数据库。 您可以通过使用没有特定结构的 JDBC 来做到这一点。
导入或加载数据集后,RDD 会在逻辑上将您的数据划分为跨多个服务器的多个节点,以保持操作运行。
另请阅读:Apache Spark 功能
既然您了解了 RDD,那么您将更容易理解 Spark 并行处理。
在 Spark 中使用 RDD 进行并行化
并行处理在 Apache Spark 中分 4 个重要步骤执行。 RDD 主要用于在 spark 中并行化以执行并行处理。
第1步
RDD 通常是从外部数据源创建的。 它可以是 CSV 文件、JSON 文件,或者只是一个数据库。 在大多数情况下,它是 HDFS 或本地文件。
第2步
在第一步之后,RDD 会经历一些并行的转换,比如 filter、map、groupBy 和 join。 这些转换中的每一个都提供了一个不同的 RDD,用于下一个转换。
获得世界顶尖大学的数据科学认证。 加入我们的行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
第 3 步
最后一个阶段是关于行动; 它总是如此。 在这个阶段,RDD 作为外部输出导出到外部数据源。

查看: Apache Spark 初学者教程
结论
并行处理在数据爱好者中越来越受欢迎,因为这些见解正在帮助公司和 OTT 赚大钱。 另一方面,Spark 是通过对大数据和更大数据执行并行处理来帮助大巨头做出决策的工具之一。
如果您希望更快地处理大数据,Apache spark 是您的不二之选。 而且,Spark 中的 RDD 提供了有史以来最好的性能。
如果您有兴趣了解有关大数据的更多信息,请查看我们的 PG 大数据软件开发专业文凭课程,该课程专为在职专业人士设计,提供 7 多个案例研究和项目,涵盖 14 种编程语言和工具,实用的动手操作研讨会,超过 400 小时的严格学习和顶级公司的就业帮助。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

