Spark---创建RDD的三种方式
通过本地集合创建RDD
def rddCreationLocal(): Unit = {
val seq1 = Seq("hello","world","HI")
val seq2 = Seq(1,2,3)
//可以不指定分区数
val rdd1: RDD[String] = sc.parallelize(seq1,2)
//要指定分区数
val rdd2: RDD[Int] = sc.makeRDD(Seq(1,2,3,4),2)
}
通过外部数据创建RDD
//外部数据(文件)创建RDD
def rddCreationFiles(): Unit = {
val rdd1 = sc.textFile("file_path")
//1、textFile传入的是一个路径
//2、分区是由HDFS中的block决定的
}
通过RDD衍生新的RDD
//RDD衍生RDD
def rddCreateFromRDD(): Unit = {
val rdd1 = sc.parallelize(Seq(1, 2, 3))
//通过RDD执行算子操作会产生RDD
val rdd2 = rdd1.map(item => (item, 1))
}