目标:
spark的工作原理spark数据处理通用流程rdd 什么是rddrdd 的特点 spark架构 spark架构相关进程spark架构原理 spark的工作原理 图中中间部分是spark集群,也可以是基于 yarn 的,图上可以理解为spark的 standalone 集群,集群中有 6 个节点左边是spark的客户端节点,这个节点主要的任务是向spark集群提交任务,左边的 hdfs 是提交的任务所需要的数据源,当spark读取hdfs中的数据后,会将数据转化为rdd ,rdd是弹性分布式数据集,是一个逻辑概念,在此,可以先理解为一个数据集合就可,这个rdd是具有分区特性的,如节点1,节点2,节点3,这样可以轻易的提高数据的并发处理能力接下来就可以对这rdd数据进行处理了,图中使用了,flatMap 函数,计算之后的结果还是一个带有分区的rdd,就是在节点4 ,节点5,节点6当处理到最后一步的时候是需要将数据存起来的,实际工作中,针对离线计算的,大部分的结果数据都是存储在hdfs上的,也可以存储在其它的存储介质中。针对上面几条,可以总结出,spark处理数据的基本构成,如下图
后面 spark 代码中基本都是这三板斧
rddrdd 是 spark 中一个很重要的概念
什么是rdd在实际工作中,rdd 通常通过 hadoop 上的文件,即 hdfs 文件进行创建,也可以通过程序中的集合来创建,rdd是 spark 提供的核心抽象,全称为 Resillient Distributed Dataset ,即弹性分布式数据集
rdd 的特点 弹性:rdd 数据默认情况下是存储在内存中,但是在内存资源不足时,spark 也会自动将 rdd 数据写入磁盘分布式: rdd 在抽象上来说是一种元素集合,它是被分区的,每个分区分布在集群中的不同节点上,从而让 rdd 中的数据可以被并行操作容错性: rdd 最重要的特性就是提供了容错性,可以自动从节点失败中恢复过来,如果某个节点上的 rdd 分区,因为节点故障了,导致数据丢了,那么 rdd 会自动通过自己的数据来源重新计算该分区的数据 spark架构下面熟悉一下 spark 架构相关的进程信息
注意: 在此是以 spark 的 standalone 集群为例进行分析,其实在 spark standalone环境安装 中,成功后有查询对应的 进程 是否成功启动了
spark 的工作与架构原理就介绍至此,如有问题,欢迎评论区留言。