在大数据当中,spark作为一个核心模块是很重要的,spark拥有速度更快、易用性的特点,而RDD作为spark的核心概念,就更应该重点学习,今天我们就来了解一下关于spark核心概念RDD的重要性。 Spark相对于hadoop所做的改进: Spark 速度更快; 其次,Spark 丰富的API 带来了更强大的易用性; 最后,Spark 不单单支持传统批处理应用,更支持交互式查询、流式计算、机器学习、图计算等各种应用,满足各种不同应用场景下的需求。 而帮助spark获取这些的优势,关键的核心就是来于RDD,那么RDD到底是什么呢?今天加米谷小编就来给大家讲解一下。 RDD全称是Resilient Distributed Datasets,翻译过来就是弹性分布式数据集,似乎念起来有点绕口,我们先从简单一点的角度来理解。 把RDD想象为一组数据,而Spark把要处理的数据、处理中间结果以及输出结果都定义成RDD,那么在Spark当中数据处理的流程就可以这样去理解—— 从数据源读取数据,把输入生成一个RDD→通过运算把输入RDD转换成另一个RDD→再通过运算把生成的RDD转换成另一个RDD,重复需要进行的RDD转换操→最后运算成结果RDD,处理结果 经过这样一个流程,就实现了对大规模数据的处理,而Spark对于数处理,因为本身没有分布式文件系统,所以可以与Hadoop的HDFS实现协同,完成数据存储。但是Spark当中的RDD默认是在内存当中进行存储的。只有当数据量大于Spark被允许使用的内存大小时,那么可以将数据spill到磁盘上。 接下来,就是RDD的接口问题。 RDD是连接Spark数据操作的核心,接口要解决的主要问题就是,为了生成这个RDD,它的上一个RDD是谁,以及生成过程使用的运算是什么。 举个简单的例子,数据A,经过运算F,转换成了数据B,那么如果问你如何得到B,那么需要数据A+运算B,这就是接口需要提供的东西。 所以其实RDD就是一个数据集,是一组数据被处理到一个阶段的状态,在Spark当中,根据数据处理任务,会有很多个RDD,RDD彼此之间交互运算,完成最终的数据处理结果。 以上就是关于Spark核心概念RDD的介绍,随着大数据的不断发展,越来越多的人想要学习大数据。如果想了解更多详情,请点击成都加米谷大数据官网吧!成都大数据培训学校、大数据开发培训、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频可免费获取!
|