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进程。
相关推荐
Data-Miner15 分钟前
196页满分PPT | 集团流程优化及IT规划项目案例
大数据·数据分析
徐*红18 分钟前
Elasticsearch 8.+ 版本查询方式
大数据·elasticsearch
DolphinScheduler社区31 分钟前
怎么办?用DolphinScheduler调度执行复杂的HiveSQL时无法正确识别符号
大数据
goTsHgo33 分钟前
Hive自定义函数——简单使用
大数据·hive·hadoop
码爸35 分钟前
flink 例子(scala)
大数据·elasticsearch·flink·scala
FLGB36 分钟前
Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比
大数据·flink·kubernetes
码爸37 分钟前
flink 批量压缩redis集群 sink
大数据·redis·flink
core51238 分钟前
Flink官方文档
大数据·flink·文档·官方
周全全41 分钟前
Flink1.18.1 Standalone模式集群搭建
大数据·flink·集群·主从·standalone
Hello.Reader43 分钟前
StarRocks实时分析数据库的基础与应用
大数据·数据库