赞
踩
在介绍Spark首先需要介绍为何要提出Spark,Hadoop高度支持的Map Reduce框架有什么不好的地方吗?
答:没有完美的机制,Map Reduce范式存在下面问题
1、模型能处理的应用有限,主要基于Map和Reduce处理,存在很多限制
2、中间的文件储存在内存里,但是最后MR-output文件存在在文件系统里,涉及到磁盘读取的问题。在一个Map Reduce里存在大量Disk IO问题,效率很低
因此在Hadoop的基础上提出了大量的附加系统,例如:
大体分为四种类型:Iterative,Interactive,Streaming,Graph
Spark具有如下特性:
Spark本身会倾向于把数据存储在内存里,这时效率会百倍于Hadoop。
即使数据量过大,无法在内存里完全缓存,Spark也可以把数据缓存在Disk里,效率依然10倍于hadoop。
另外,Spark提供了交互的shell和丰富支持多语言的API。
二者区别示意图
上面主要介绍了Spark的一些基本概念,这里将介绍Spark编程的相关技巧与关键点。
提到Spark不可不提的一个概念就是RDD。
RDD全称为Resilient Distributed Datasets,他会把数据映射到不同的partition然后再按照相同的要求进行处理。
RDD会不断将数据按照要求进行transformation转换,并将结果保存在RDD或者Persistent Storage上。
最关键的一点:RDD不需要被Materialized
可以简单理解为,RDD的机制为用时计算,不用的话即使计算会出问题从头打尾也不会注意到
用户编程时除了代码主要可以控制以下两点
1、Persis
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。