Spark核心概念RDD(Resilient Distributed Datasets)
U4dbsfaasa
9年前
来自: http://my.oschina.net/sulliy/blog/617259
本文介绍Spark的RDD。作为一个概念,RDD本身是与编程语言无关的,你即可以用Scala实现,也可以是Java、C++之类的语言。当初伯克利决定用Scala就是因为它写的代码简单明了。
RDD是一种数据模型,跟分布式的共享内存类似。RDD的特征在于:
是只读的内存数据,但可以持久化
是可以分区数据集合
是一个对象,可以调用它的方法执行一些变换操作(transformations )
是可恢复的。不同与数据多副本的备份方式不同,TDD的恢复可以通过重复执行变换操作(transformations )得到
变换操作(transformations )是延迟操作,只有真正需要的时候才执行
有两种方式创建RDD:
从持久化的数据上创建,比如硬盘、HDFS上的文件
从其他RDD上通过变换(transformations )创建
RDD的适用性:
对数据中的所有元素需要进行大量的相同操作
RDD上可用的变换操作(transformations )和其他操作