在Spark中创建RDD的方式有三种:1)从集合中创建;2)从外部存储创建。3)从其他RDD转化创建
从集合中创建
从集合中创建RDD,Spark主要提供了两种函数:parallelize
和makeRDD
- 使用
parallelize
创建
val rdd = sc.parallelize(Array(1,2,3,4))
- 使用
makeRDD
创建
val rdd = sc.makeRDD(Array(1,2,3,4))
// makeRDD的底层实现调用了parallelize方法
从外部存储创建
外部存储包括本地的文件系统,还有所有Hadoop支持的数据集,比如HDFS、HBase等等。
例如从HDFS读取:
// 使用textFile方法读取文本数据
val rdd = sc.textFile("hdfs://hadoop:9000/text_file.txt")
从其他RDD创建
可以通过操作算子来对已存在的RDD进行变换、计算,以此来得到一个新的RDD。
例如使用map
算子进行变换:
// 从集合初始化一个RDD
val rdd1 = sc.parallelize(Array(1,2,3,4))
// 通过map算子变换RDD
val rdd2 = rdd1.map((_,1))
网友评论