【云计算与大数据技术】Spark的解析(图文解释 超详细必看)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 【云计算与大数据技术】Spark的解析(图文解释 超详细必看)

一、Spark RDD

Spark是一个高性能的内存分布式计算框架,具备可扩展性,任务容错等特性,每个Spark应用都是由一个driver program 构成,该程序运行用户的 main函数 。

Spark提供的一个主要抽象就是 RDD(Resilient Distributed Datasets),这 是一个分布在集群中多节点上的数据集合,利用内存和磁盘作为存储介质。其中内存为主要数据存储对象,支持对该数据集合的并发操作,用户可以使用HDFS中的一个文件来创建一个RDD,可以控制RDD存放于内存中还是存储与磁盘。

RDD的设计目标是针对迭代式机器学习,每个RDD是只读的、不可更改的

创建RDD

有两种方式创建一个 RDD

在driver program 中并行化一个当前的数据集合

利用一个外部存储系统中的数据集合创建

二、Spark与MapReduce对比

Spark 作为新一代的大数据计算框架,针对的是迭代式计算、实时数据处理,要求处理的时间更少,与MapReduce对比整体反映如下

1: 在中间计算结果方面 - Spark基本把数据存放在内存中,只有在内存资源不够的时候才写到磁盘等存储介质中; 而 MapReduce计算过程中 Map任务产生的 计算结果存放到本地磁盘中

2:在计算模型方面 - Spark采用 DAG 图描述计算任务,Spark拥有更丰富的功能;MapReduce则只采用 Map和 Reduce两个函数,计算功能比较简单

3:在计算速度方面 - Spark 的计算速度更快

4:在容错方面 - Spark采用了和 MapReduce类似的方式,针对丢失和无法引用的RDD,Spark采用利用记录的transform,采取重新做已做过的 transform

5:在计算成本方面 - Spark是把RDD主要存放在内存存储介质中,则需要提供高容量的内存;而 MapReduce是面向磁盘的分布式计算框架,因此在成本考虑方面,Spark的计算成本高于 MapReduce计算框架

6:在简单易管理方面 - 目前Spark也在同一个集群上运行流处理 、批处理和机器学习,同时Spark也可以管理不同类型的负载。这些都是 MapReduce做不到的

三、Spark工作机制

开始深入探讨Spark的内部工作原理,具体包括Spark运行的DAG图、Partition、容错机制、缓存管理以及数据持久化

1:DAG工作图

DAG是有向无环图

当用户运行action操作的时候, Spark调度器检查RDD的lineage图,生成一个DAG图

为了Spark更加高效的调度和计算,RDD DAG中还包括宽依赖和窄依赖

窄依赖是父节点 RDD 中的分区最多只被子节点 RDD 中的一个分区使用

宽依赖是父节点RDD中的分区被子节点 RDD 中的多个子分区使用

采用DAG方式描述运行逻辑,可以描述更加复杂的运算功能,也有利于Spark调度器调度

2:分区Partition

Spark 执行每次操作transformation都会产生一个新的RDD,每个RDD是Partition分区的集合

在Spark中 ,操作的粒度是Partition分区

当前支持的分区方式有hash分区和范围(range)分区

3:Linedge容错方法

在容错方面有多种方式,包括数据复制以及记录修改日志

RDD本身是一个不可更改的数据集,Spark根据transformation和action构建它的操作图DAG

当执行任务的 Worker失败时完全可以通过操作图 DAG 获得之前执行的操作,进行重新计算

针对RDD的wide dependency,最有效的容错方式同样是采用checkpoint机制  ,但是当前,Spark并没有引入auto checkpointing机制

4:内存管理

旧版本Spark的内存空间分成了3块独立的区域,每块区域的内存容量是按照JVM堆大小的固定比例进行分配的

1:Execution - 在执行shuffle、join、sort和aggregation时,Execution用于缓存中间数据 默认为0.2

2:Storage - Storage主要用于缓存数据块以提高性能,同时也用于连续不断地广播或发送大的任务结果 默认为0.6

3:Other - 这部分内存用于存储运行系统本身需要加载的代码与元数据 默认为0.2

无论是哪个区域的内存,只要内存的使用量达到了上限,则内存中存储的数据就会被放入到硬盘中,从而清理出足够的内存空间,

5:数据读取

Spark最重要的一个功能是它可以通过各种操作 (operations)持久化(或者缓存 )一 个集合到内存中

这个能力使后续的动作速度更快(通常快10倍以上)。 对应迭代算法和快速的交互使用来说,缓存是一个关键的工具

用户可以利用不同的存储级别存储每一个被持久化的RDD  

四、数据读取

Spark支持多种外部数据源来创建 RDD,Hadoop支持的所有格式Spark都支持

包括HDFS Amazon S3 HBase等等

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
2月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
98 1
|
2月前
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
【10月更文挑战第40天】本文将深入探讨云计算与网络安全之间的关系,揭示它们如何相互依赖又互相挑战。我们将从云计算的基本概念出发,逐步引入网络安全的重要性,并分析云服务在提供便利的同时可能带来的安全隐患。文章还将讨论信息安全的关键领域,如加密技术和身份验证机制,以及如何在云计算环境中加强这些安全措施。通过本文,读者将获得对云计算和网络安全复杂关系的深刻理解,并认识到在享受技术便利的同时,维护网络安全的重要性。
|
1月前
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
在数字化浪潮中,云计算如同一股不可阻挡的力量,推动着企业和个人用户步入一个高效、便捷的新时代。然而,随之而来的网络安全问题也如影随形,成为制约云计算发展的阿喀琉斯之踵。本文将探讨云计算服务中的网络安全挑战,揭示信息保护的重要性,并提供实用的安全策略,旨在为读者呈现一场技术与安全的较量,同时指出如何在享受云服务带来的便利的同时,确保数据的安全和隐私。
36 6
|
1月前
|
存储 人工智能 安全
云计算与网络安全:技术融合与挑战
在数字化时代的浪潮中,云计算和网络安全已成为推动社会进步的两大关键技术。本文将探讨云计算服务的发展,网络安全的重要性,以及信息安全技术的演进。我们将通过实例分析,揭示云服务如何增强数据保护,网络安全措施如何应对新兴威胁,以及信息安全技术的创新如何为企业带来竞争优势。文章旨在为读者提供对云计算和网络安全领域的深入理解,并展示它们如何共同塑造我们的未来。
|
1月前
|
监控 安全 网络安全
云计算与网络安全:技术挑战与解决方案
随着云计算技术的飞速发展,其在各行各业的应用越来越广泛。然而,随之而来的网络安全问题也日益凸显。本文将从云服务、网络安全和信息安全等技术领域出发,探讨云计算面临的安全挑战及相应的解决方案。通过实例分析和代码示例,旨在帮助读者更好地理解云计算与网络安全的关系,提高网络安全防护意识。
|
1月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。
|
1月前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
随着云计算技术的飞速发展,越来越多的企业和个人开始使用云服务。然而,云计算的广泛应用也带来了一系列网络安全问题。本文将从云服务、网络安全、信息安全等方面探讨云计算与网络安全的关系,分析当前面临的挑战,并提出相应的解决方案。
75 3
|
2月前
|
存储 安全 网络安全
云计算与网络安全:技术融合与安全挑战
随着云计算技术的飞速发展,其在各行各业的应用日益广泛。然而,随之而来的网络安全问题也日益凸显,成为制约云计算发展的重要因素。本文将从云服务、网络安全、信息安全等方面探讨云计算与网络安全的关系,分析云计算环境下的网络安全挑战,并提出相应的解决方案。
|
2月前
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
本文深入探讨了云计算和网络安全之间的复杂关系。通过分析云服务的基本架构,我们揭示了它们在提供便利的同时,如何引入新的安全挑战。文章不仅讨论了这些挑战,还提供了应对策略,旨在帮助读者理解并加强他们的网络安全防护。
|
2月前
|
存储 安全 网络安全
云计算与网络安全:技术融合与挑战
本文深入探讨了云计算在提供便捷服务的同时,如何应对日益复杂的网络安全问题。文章首先概述了云计算的基本概念及其服务模型,随后详细分析了网络安全的重要性以及云计算环境中存在的安全挑战。通过具体实例,本文进一步讨论了云服务提供商和用户如何共同维护网络环境的安全,并提出了未来网络安全发展的可能方向。旨在为读者提供一个关于云计算与网络安全相互作用的全面视角,同时强调在这一过程中采取主动防御措施的重要性。
44 1

热门文章

最新文章

推荐镜像

更多