Spark初识
来源:互联网 发布:上海的美食知乎 编辑:程序博客网 时间:2024/06/04 19:09
参考:http://blog.sciencenet.cn/blog-425672-520947.html
一、与Hadoop的渊源
没接触Spark之前,觉得这是一个高深的学问,今天大致看了一下简介发现它和hadoop平台并没有本质的区别,是对Hadoop的一种拓展,充分利用内存。Spark基于hadoop平台,继承了容错性、伸缩性和位置感知性调度等优点,沿用了HDFS等Hadoop底层框架;他最大的优点是充分利用内存计算并显式存储工作集数据。
MapReduce基于非循环的数据流模型,从文件系统中加载记录,通过一系列的计算处理后,写回稳定存储;由此反复的计算最终得到最后的结果。这会存在两个问题:1.稳定存储的读写、传输将产生很大开销;2. 无法在多个并行操作之间重用工作数据集。Spark所采用的RDD非常好的解决了以上问题。 Spark采用了RDD(Resilient Distributed Datasets,弹性分布式数据集),这是一种分布式的内存抽象,允许在大规模集群上执行内存计算。RDD解决了稳定存储的读写开销问题;并允许在多个查询时显式的将工作集缓存在内存中,以便于后期的工作集重用。
二、弹性分布式数据集(RDD)
RDD的目标是为基于数据集的应用(即多个并行操作重用中间结果的这类应用)提供抽象,同时保持MapReduce及其相关模型的优势特性:即自动容错、位置感知性调度和可伸缩性。在这些特性中最难实现是自动容错。分布式数据集的容错方式分两种:数据检查点和记录数据的更新,关于以上两点的介绍可以看我上面的参考内容,里面有很详细的介绍。
RDD只能通过在稳定物理存储中和数据集或者其他已有的RDD上执行确定性操作来创建。我认为,这个是HDFS的内存实现,一次写入、多次读取,只支持粗粒度的更新和插入。这种实现方式还有另外一个好处,自动容错。但数据和计算发生错误时,只需要从上游物理存储或者RDD中重新计算即可恢复。
- Spark初识
- Spark初识
- 初识Spark
- 初识 Spark
- Spark初识
- Spark初识
- spark初识
- Spark学习笔记:初识Spark
- 初识Spark之 Spark API
- spark学习笔记:初识spark
- Apache Spark 初识
- 初识Spark 1.6.0
- spark shell初识
- <spark>RDD初识
- spark 初识 下载安装
- Spark 架构-初识
- Spark(1)-初识Pyspark
- 初识Spark之 基本概念
- 16. Element contentEditable 属性
- C++Primer 第五版 练习9.43 解答
- HDU 3342
- Linux编程系统时间的获取
- poj1321
- Spark初识
- POJ 1459 && ZOJ 1734--Power Network【最大流dinic】
- HDU 2544 最短路 单源Dijkstra
- UVA - 11584 Partitioning by Palindromes
- Birt报表集成MyEclipse Web Project
- ruby的Comparable 和Enumerable
- HDU 2701 Lampyridae Teleportae
- 当超出宽度时候用省略号,鼠标移动到上面时候显示所有(不用tooltip插件)
- Swift学习记录(UITableView can not find member ...)