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跳动4 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1115 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq6 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq6 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈6 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
Java程序之猿6 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰7 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
小白学大数据7 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥7 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵
节点。csn8 小时前
Hadoop yarn安装
大数据·hadoop·分布式