RDD

2016-06-19  本文已影响0人  蜗牛勤

Resilient Distributeed DataSets:弹性分布式数据集

创建:由SparkContext负责创建,将内存中的集合或者外部文件系统作为输入源

转换:将一个RDD通过一定的操作变换成为另外一个RDD,下面的代码中filter就是一个转换操作

val file = sc.textFile("hdfs://root/log")

val filterRDD = file.filter(_.contains("hello world"))

transform 常用的API:

控制:对RDD进行持久化,可以让RDD保存在磁盘或者内存中,cache默认将RDD缓存在内存中。

行动:Spark中的行动操作基本分为两类,一类的操作结果变成Scala集合或者标量,另一类就将RDD保存到外部文件或者数据库系统中。

spark会惰性计算RDD。

Spark程序或者shell的工作方式大致如下:

1、从外部数据创建输入RDD

2、使用诸如filter()这样的转化操作对RDD进行转化,以定义新的RDD

3、告诉spark对需要被重用的RDD执行persist()操作

4、使用行动操作(如count()、first())等来触发一次并行计算,spark会对计算进行优化后再执行。

RDD对象是不可变的,一旦对象被创建,他们的值就无法再变化。

上一篇 下一篇

猜你喜欢

热点阅读