RDD的处理过程
1. 创建RDD
-
通过
SparkContext
的parallelize
方法从本地集合创建RDD。 -
从外部存储(如HDFS、本地文件系统)加载数据创建RDD。
-
通过对已有RDD进行转换操作生成新的RDD。
2. 转换操作(Transformation)
-
对RDD进行操作(如
map
、filter
、flatMap
等)生成新的RDD。 -
转换操作是惰性计算的,不会立即执行,而是记录操作的“血统”(lineage)。
3. 行动操作(Action)
-
触发RDD的实际计算,例如
collect
、count
、saveAsTextFile
等。 -
行动操作会启动作业执行,并返回结果或写入外部存储。
4. 持久化(可选)
-
使用
cache
或persist
将RDD缓存到内存或磁盘,避免重复计算。
5. 释放资源(可选)
-
使用
unpersist
释放持久化的RDD,释放资源。
总结
RDD的处理过程是:创建RDD → 转换操作(Transformation) → 行动操作(Action)。