Spark简介-1

来源:互联网 发布:2008年雪灾知乎 编辑:程序博客网 时间:2024/05/20 18:50

Spark应用程序包含一个运行用户主函数的驱动程序,这个主函数可以在一个集群上执行多个并行操作。Spark主要包括两个重要概念:Resilient Distributed Dataset(弹性分布式数据集)和Shared variable(共享变量)。

弹性分布式数据集是一种分布式内存抽象,它是一个大的数据集合,将所有的数据加载到内存中。分布式是因为他可以分布在多台机器上进行计算;弹性是因为当机器内存不够时,他会和硬盘进行数据交换,以牺牲性能来确保运算。RDD具有自动容错,位置感知调度和可伸缩性的特性。RDD的编程模型接口有两个,Transformation和Action。Transformation的返回值是一个RDD,通过对一个RDD进行计算,变成另一个RDD,例如Map,filter和union。Action的返回值是scala的集合或者一个值,最终将结果返回到驱动程序或者保存RDD到文件系统(RDD持久化)例如count,collect和save。

共享变量主要用于并行操作,将一个变量的副本传递给多个任务,spark支持两种共享变量,广播变量(broadcast variables)和accumulators。广播变量在内存中缓存一个值,供所有节点使用,accumulator用于操作。

如何产生弹性数据集呢,spark提供了两种方式,Parallelized Collection 和 External DataSet



0 0
原创粉丝点击