Spark 中最基本的数据抽象是 RDD。
RDD:弹性分布式数据集 (Resilient Distributed DataSet)。
不可变,分区,并行
1.转换算子
value(Map)
2.行动算子--操作数据(collect)
.创建
import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object rdd01 { def main(args: Array[String]): Unit = { //本地模式 val conf: SparkConf = new SparkConf().setAppName("My scala word count").setMaster("local") //创建spark上下文对象 val sc = new SparkContext(conf) //创建RDD //1)从内存中创建makeRDD,parallelize val listRDD: RDD[Int] = sc.makeRDD(List(1,2,3,4),3) val ArrayRDD: RDD[Int] = sc.parallelize(Array(1,2,3,4)) //2)从文件中创建,默认情况下可读取项目路径,也可读取其他路径:本地,hdfs //读取文件时,传递的分区数为最小分区数,但是不一定是这个分区数,取决于hadoop读取文件时的分片规则 val FileRDD: RDD[String] = sc.textFile("E:/software/qiao/test.txt") //listRDD.collect().foreach(println) listRDD.saveAsTextFile("output") } }