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进程。
相关推荐
ayingmeizi1631 天前
智慧养老的数字化转型:AI CRM如何重构全链路增长
大数据·人工智能·重构
老马聊技术1 天前
HBase单节点环境搭建详细教程
大数据·数据库·hbase
xerthwis1 天前
Flink:从“微批”到“真流”,数据处理的哲学转向与时代抉择
大数据·flink
Wang's Blog1 天前
Kafka: 消费者高级实践之分区控制、多线程处理与 Offset 管理
分布式·kafka
jqpwxt1 天前
启点创新智慧景区服务平台,智慧景区数字驾驶舱建设
大数据·人工智能
阿里云大数据AI技术1 天前
Hologres Dynamic Table:高效增量刷新,构建实时统一数仓的核心利器
大数据·人工智能·阿里云·实时数仓·hologres
Familyism1 天前
ES基础入门
大数据·elasticsearch·搜索引擎
跨境卫士情报站1 天前
摆脱砍单魔咒!Temu 自养号系统化采购,低成本高安全
大数据·人工智能·安全·跨境电商·亚马逊·防关联
老鱼说AI1 天前
经典论文精读第一期:DeepSeek-R1-Zero ——RL奇迹
人工智能·分布式·深度学习·神经网络·自然语言处理·nlp·transformer
AI营销实验室1 天前
AI CRM系统升级,原圈科技赋能销冠复制
大数据·人工智能