【博学谷学习记录】超强总结,用心分享|Spark的基本介绍和Spark的集群架构

Spark是一款针对大规模数据处理的分布式分析引擎,因其内存计算的RDD数据结构和基于线程的运行模式,提供了比MR更高的运行效率。Spark的特点包括内存计算、多语言API、易用性和随处运行能力。其集群架构为主从式,主节点负责资源管理和任务分配,从节点执行任务。
摘要由CSDN通过智能技术生成

【博学谷学习记录】超强总结,用心分享|Spark的基本介绍和Spark的集群架构

一、Spark的基本介绍

1.1 什么是Spark及Spark产生的背景

定义: Spark是一款用于大规模数据处理分布式的分析引擎。

MR: 是一款用于大规模数据处理分布式的分析引擎

MR存在的弊端:
	1- 使用API相对比较低级: 大量的功能代码都需要程序员自己来实现;
	2- 计算效率慢: 大量的经过磁盘和内存之间的交互, 基于磁盘计算 IO比较大 (IO密集型框架);
	3- 迭代计算非常不方便。

什么是迭代计算:
	在计算过程中, 需要将计算流程划分为N个阶段, 每个阶段之间互相依赖, 后一个阶段必须等待前一个阶段执行完成后, 然后才能执行下一个阶段。

对于市场而言, 虽然离线计算对实时性要求一般不高, 但是依然希望能够计算的越快越好, 所以在这样的背景下, 迫切需求一款能够支持大规模的分布式计算的引擎, 同时能有非常高效的迭代计算的性能。Spark就是在这样的背景下, 逐步的产生了出来。

1.2 为什么Spark运行效率要高于MR?

RDD: 是Spark的核心,是Spark的一个数据结构,可以理解为就是一个庞大的容器,整个迭代计算操作都是基于这个容器来进行,整个计算可以基于内存来进行迭代。
因此,Spark运行效率要高于MR的原因主要有2点:
(1)Spark提供了全新的数据结构RDD,支持在内存中进行计算,部分迭代操作支持直接在内存中进行迭代处理。
(2)Spark程序是基于线程运行的,而MR是基于进程来运行,线程的启动和销毁是优于进程的。

1.3 Spark的特点

(1)运行速度快
原因一:提供了一个全新的数据结构:RDD。整个计算操作是基于内存的,当内存不足时也可以放置到磁盘上。
原因二:整个Spark是基于线程运行的,线程的启动和销毁优于进程。
(2)易用性
原因一:Spark提供了多种操作语言的API如:Python SQL scala Java R。
原因二:Spark提供非常多的高阶API,而且这些API在不同的语言中操作基本都是类似的,大大降低了学习成本。
(3)随处运行
原因一:编写好的Spark程序可以被提交到多个不同的资源平台运行: Local 、Spark集群(standlone)、Yarn平台、以及其他支持Spark的云平台。
原因二:Spark框架可以和多种软件进行集成,集成后可以非常方便的对接不同的软件进行数据处理。

二、Spark的集群架构

在这里插入图片描述
(1)Spark集群架构是一个主从分布式高可用集群架构。
(2)主节点作用:
1-管理众多的从节点
2-负责资源的分配管理
3-负责接收客户端提交的任务请求,负责分配Driver程序启动到相应的从节点上。
(3)从节点作用:
1-和主节点保持心跳,汇报自己的资源信息
2-负责接收Driver分配的任务,执行具体任务
3-负责启动Driver程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值