初识Spark 1.6.0

Spark是由AMP实验室开发的内存分布式计算框架,旨在提高数据分析速度。与MapReduce相比,Spark利用内存计算,减少磁盘IO,适合迭代计算。Spark系统架构包括ClusterManager、Worker、Driver、Executor和SparkContext等组件,其中DAGScheduler和TaskScheduler负责任务调度。RDD是Spark的核心,是只读、容错的分布式数据集,支持多种数据处理模型。Spark 1.6.0引入Dataset API、Session Management等新特性,优化性能和用户体验。
摘要由CSDN通过智能技术生成

1、  Spark发展背景

Spark由加州大学伯克利分校AMP实验室(Algorithms,Machines,andPeopleLab)以Matei为主的小团队使用Scala语言所开发,后期成立spark商业公司databricks,CEOAli,CTO Matei,后期愿景是实现databrickscloud。Spark是新一代基于内存迭代计算的、开源的、分布式的、并行的计算框架,抛去繁琐的IO读写,目的是让数据分析更加快速。

2、  Spark和mapreduce的区别

1)、MR作业的资源管控是通过yarn进行的,spark可以通过yarn进行资源管控,也可以不使用yarn,但是多个组件合设时,建议还是使用yarn;
2)、spark是基于内存计算的,计算的中间结果存放在内存,可以进行反复迭代计算;而MR计算的中间结果是要落磁盘的,所以一个job会涉及到反复读写磁盘,这也是性能比不上spark的主要原因;
3)、MR的一个task就要对应一个container,container的每次启动都要耗费不少时间,而spark是基于线程池来实现的,资源的分配会更快一些。

3、  Spark系统架构图

 

Spark架构中的基本组件:

ClusterManager:在Standalone模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器。

Worker:从节点,负责控制计算节点,启动Executor或Driver。在YARN模式中为NodeManager,负责计算节点的控制。

Driver:运行Application的main()函数并创建SparkContext。

Executor:执行器,在workernode上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executors。

SparkContext:整个应用的上下文,控制应用的生命周期。

RDDÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值