Spark 概述_Spark 的组成|学习笔记

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 快速学习 Spark 概述_Spark 的组成

开发者学堂课程【大数据 Spark2020最新课程(知识精讲与实战演练)第一阶段Spark 概述_Spark 的组成】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/688/detail/11936


Spark 概述_Spark 的组成

在整个 Spark 当中,最重要就是最底层最核心的一个包,叫做 Spark- Core ,里面提供了一个叫做弹弹性分布式数据集的一个数据抽象,这个 Spark 是诞生自 MIT 的,一般情况下,在高校里面如果要去做一个项目的话,可能会先去写一篇论文,尤其是大数据这个领域,Spark 当初的这篇论文名字就叫做 RDD ,就是 Spark 第一个版本只实现了一个功能,叫做 RDD ,所以说这个 RDD 是整个 Spark 的基础。

后来 Spark 团队的人员发现,在大多数情况下,使用 Spark 的时候,并不是去处理那些非结构化的数据,而是处理结构化的数据和半结构化的数据。

所以在第二部分,这个 Spark 的这个开发者为 Spark 在 RDD 之上,构建了一个新的工具,称之为叫做 SparkSQL 这个工具并不是说它只是去执行 SQL 的,事实上 Spark SQL ,是一整套解决方案,用来去处理结构化的数据好,它提供了两个非常重要的抽象,一个叫做 Dataset ,还有一个叫做 DataFrame 。

同时 DataFrame 和 Dataset 之间联系还比较紧密的,DataFrame 其实就是 Dataset 一个特殊的表现形式。

这个 Spark 不仅可以处理结构化的数据,有的时候在整个大数据的这个计算领域,这个流计算也是非常重要的一个环节,所以 Spark 也支持流计算,支持流计算的这个组件,称之为 Spark Streaming。

Spark streaming 在后来计算的时候,即是在处理这个流式计算的时候,处理的数据绝大多数还是结构化或者半结构化的数据,Spark 在后期的这个版本,在 Spark Streaming之上又构建了一个叫做 Structur  Streaming 的一个工具。

Spark是支持迭代计算的,机器学习当中很大一部分的计算都是迭代,计算所以, Spark 和机器学习之间的关系还是比较的紧密的,Spark,实现了好多机器学习的算法,这些算法是包含在一个叫做 MLD 的包内的。

Spark 对于图计算的支持,叫做 GraphX。GraphX 是一个在社交,或者各个领域里面比较常见的一个图计算的工具。

总结一下的话,Spark最底层提供的这个能力,叫做Spark-Core :是由一个叫做 RDD 的这个抽象数据集来进行提供的RDD 的。

image.png

接下来,Spark 在 RDD之上又构建了对于各种不同计算的支持,比如说对于结构化数据计算的 SparkSQL 系统。

对于流计算的 Spark Streaming ,对于这个机器学习的 MLlib,对于这个图计算的 Graphx ,在 Spark的下面,其实支持各种各样的存储层,也支持各种各样的资源调度层,所以这就是整个Spark的组成。

Spark 和 Hadoop 的异同:

首先对于类型来说, Hadoop 它是一个基础的一个计算平台,包括了计算、存储和调度,但是 Spark ,它只是一个计算工具,所以 Spark 当中是不包含存储和调度的,也就是说,Spark它的产生其实不是为了去替代掉 Hadoop ,而是替代 Hadoop 当中的计算那一部分,也就是 MapReduce 。

Hadoop 比较擅长的,并不是以最快的速度返回结果,它擅长的是处理大吞吐量的数据,所以,Hadoop 的这个运行速度稍微有点慢。但是 Spark 它找到了一个非常好的平衡, Spark 不仅支持大规模的大吞吐量的这个数据的处理,同时,Spark 的这个速度也是比较快的,所以 Spark 比较适合迭代计算,交互式计算,以及流计算。

Hadoop 的计算延迟是比较大的,因为它的吞吐量也比较大,但是 Spark 找到了一个平衡,它的延迟比较小,但是它的吞吐量也相对来说比较大。

这个 Hadoop 跟 Spark,它们在这个机器部署上的这个成本来比的话,其实比较稍微高一点,因为前面提到过, Spark 是基于内存来进行中间结果的保存的,所以它对内存的要求可能就会比 Hadoop 要稍微高一点点。以上所述就是整个 Spark 和 Hadoop 主要的一个区别。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
缓存 分布式计算 并行计算
Spark3:RDD概述
Spark3:RDD概述
119 0
|
SQL 存储 分布式计算
Spark1:概述
Spark1:概述
96 0
|
7月前
|
分布式计算 并行计算 大数据
Spark学习---day02、Spark核心编程(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
Spark学习---day02、Spark核心编程 RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
349 1
|
SQL 分布式计算 数据挖掘
197 Spark DataFrames概述
197 Spark DataFrames概述
85 0
|
SQL 分布式计算 大数据
大数据Spark框架概述
大数据Spark框架概述
208 0
|
7月前
|
SQL 分布式计算 API
Spark学习------SparkSQL(概述、编程、数据的加载和保存)
Spark学习------SparkSQL(概述、编程、数据的加载和保存)
155 2
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
67 2
|
2月前
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
50 0
|
2月前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
40 0
|
2月前
|
SQL 存储 分布式计算
大数据-93 Spark 集群 Spark SQL 概述 基本概念 SparkSQL对比 架构 抽象
大数据-93 Spark 集群 Spark SQL 概述 基本概念 SparkSQL对比 架构 抽象
41 0

热门文章

最新文章

下一篇
无影云桌面