Spark---核心介绍

一、Spark核心

1、RDD

1)、概念:

RDD(Resilient Distributed Datest),弹性分布式数据集。

2)、RDD的五大特性:

1、RDD是由一系列的partition组成的

2、函数是作用在每一个partition(split)上的

3、RDD之间有一系列的依赖关系

4、分区器是作用在K、V格式的RDD上

5、RDD提供一系列最佳的计算位置

3)、RDD理解图:

4)、注意:

textFile方法底层封装的是读取MR读取文件的方式,读取文件之前先split,默认split大小是一个block大小。

RDD实际上不存储数据,为了方便理解,暂时理解为存储数据

什么是K,V格式的RDD?

如果RDD里面存储的数据都是二元组对象,那么这个RDD我们就叫做K,V格式的RDD

哪里体现RDD的弹性(容错)?

partition数量,大小没有限制,体现了RDD的弹性。

RDD之间依赖关系,可以基于上一个RDD重新计算出RDD。

哪里体现RDD的分布式

RDD是由Partition组成,partition是分布在不同节点上的。

RDD提供计算最佳位置,体现了数据本地化。体现了大数据中"计算移动数据不移动"的概念。

2、Java和Scala中创建RDD的方式

复制代码
java:

sc.textFile(xx,minnumpartitions)
sc.parallelize(集合,num)
sc.parallelizePairs(Tuple2<xx,xx>集合,num)

Scala:

sc.textFile(xx,minnumpartitions)
sc.parallelize(集合,num)
sc.makeRDD(集合,num)

3、Spark任务执行原理

以上图中有四个机器节点,Driver和Worker是启动在节点上的进程,运行在JVM中的进程。

  • Driver与集群节点之间有频繁的通信。
  • Driver负责任务(tasks)的分发和结果的回收。任务的调度。如果task的计算结果非常大就不要回收了。会造成oom。
  • Worker是Standalone资源调度框架里面资源管理的从节点。也是JVM进程。
  • Master是Standalone资源调度框架里面资源管理的主节点。也是JVM进程。
相关推荐
eastyuxiao6 小时前
思维导图拆解项目范围 3 个真实落地案例
大数据·运维·人工智能·流程图
Meya112711 小时前
别再人工硬扛机房管理!智能 U 位系统,让机房管理一键数字化
大数据·运维
天辛大师12 小时前
天辛大师谈人工智能时代,如何用AI研究历代放生劝善忏悔文
大数据·人工智能·随机森林·启发式算法
为儿打call12 小时前
SparkSQL 广播超时排查:小表但是多分区 = BroadcastTimeout
大数据·spark
eastyuxiao12 小时前
如何用思维导图拆解项目范围
大数据·人工智能·流程图
渣渣盟13 小时前
Apache Flink物理分区算子全解析
大数据·flink·apache
小王毕业啦13 小时前
(1990-2024年)个股交易活跃度、个股换手率
大数据·人工智能·数据挖掘·数据分析·区块链·社科数据
N串13 小时前
2.7 公司内部的“阶级”是什么
大数据·人工智能
lizhihai_9914 小时前
股市学习心得—商业航天10大核心材料供应商
大数据·人工智能·学习
app软件定制开发1737709107215 小时前
世界杯应用开发的关键要点与注意事项
大数据·区块链