Spark架构作为大数据当中的两大架构之一,其优秀的性能让其成为大数据应用架构未来的主要选择,代表着该领域未来发展的趋势。在 Spark架构应用的过程中,了解其相关的术语很有必要。中培伟业《大数据Hadoop与Spark架构应用实战》蒋老师在这里介绍了Spark架构相关的专业术语。
(1)RDD(Resilient distributed datasets)
弹性分布式数据集,Spark中最核心的模块和类,也是设计精华所在。你将它理解为一个大的集合,将所有数据都加载到内存中,方便进行多次重用。第一,它是分布式的,可以分布在多台机器上,进行计算。第二,它是弹性的,在计算处理过程中,机器的内存不够时,它会和硬盘进行数据交换,某种程度上会减低性能,但是可以确保计算得以继续进行。关于RDD的详细阐述,后面会单独再起一篇文章。
(2)Local模式和Mesos模式
Spark支持Local调用和Mesos集群两种模式,在Spark上开发算法程序,可以在本地模式调试成功后,直接改用Mesos集群运行,除了文件的保存位置需要考虑以外,算法理论上不需要做任何修改。
Spark的本地模式支持多线程,有一定的单机并发处理能力。但是不算很强劲。本地模式可以保存结果在本地或者分布式文件系统,而Mesos模式一定需要保存在分布式或者共享文件系统。
(3)Transformations和Actions
对于RDD,有两种类型的动作,一种是Transformation,一种是Action。它们本质区别是:
Transformation返回值还是一个RDD。它使用了链式调用的设计模式,对一个RDD进行计算后,变换成另外一个RDD,然后这个RDD又可以进行另外一次转换。这个过程是分布式的Action返回值不是一个RDD。它要么是一个Scala的普通集合,要么是一个值,要么是空,最终或返回到Driver程序,或把RDD写入到文件系统中。
关于这两个动作,在Spark开发指南中会有就进一步的详细介绍,它们是基于Spark开发的核心。
《大数据Hadoop与Spark架构应用实战》课程是中培伟业的精品课程之一,本课程现场班将于8月25日—28日在南京举行,目前已经到了报名的最后阶段,欢迎广大想参加该培训的行业人才能抓紧时间报名,中培伟业将为您献上受益终身的一课!