创建RDD的两种方式:
1. 读取稳定物理存储(eg:HDFS)外部数据集
2. 在驱动程序中对一个集合进行并行化(也就是其它已有的RDD上执行确定性操作,这些确定性操作称作转换(Transformation))
方法一:创建 RDD 最简单的方式就是把程序中一个已有的集合传给 SparkContext 的 parallelize()方法,这种方式在学习 Spark 时非常有用,它让你可以在 shell 中快速创建出自己的 RDD,然后对这些 RDD 进行操作。不过,需要注意的是,除了开发原型和测试时,这种方式用得并不多,毕竟这种方式需要把你的整个数据集先放在一台机器的内存中。
object CreatRDD01 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("creat")
val sc = new SparkContext(conf)
val rdd1 = sc.parallelize(List(1,2,3))
rdd1.foreach(r=>{
println("creat rdd :"+r)
})
}
}
方法二:更常用的方式是从外部存储中读取数据来创建 RDD。
object CreatRDD02 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("creat")
val sc = new SparkContext(conf)
val lines = sc.textFile("E:\\ScalaProject\\SparkSum\\words")
lines.foreach(line=>{
println(line)
})
}
}
具体如何从外部存储读取数据,之后会进行详细的总结