package com.cb.spark
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
/**
* spark创建RDD的四种方式
*/
object SparkRDD {
def main(args: Array[String]): Unit = {
val sparkConf=new SparkConf().setMaster("local[4]").setAppName("sparkrdd")
val sparkContext=new SparkContext(sparkConf)
//1.方法1:读取hdfs文件或者本地文件创建RDD
//读取HDFS文件创建RDD
val rdd1=sparkContext.textFile("hdfs://linux2:9000/hadoop-chengbo-datanode.pid")
rdd1.foreach(println)
//读取本地文件创建RDD
val rdd2=sparkContext.textFile("input/input1.txt")
rdd2.foreach(println)
//2.方法2:从集合(内存)中创建RDD
val rdd3=sparkContext.parallelize(List(1,2,3,4,5))
rdd3.foreach(x => print(x+","))
//3。方法3:从其他RDD创建RDD
val rdd4=rdd3.map(x=>x+10)
rdd4.foreach(print)
//4.方法4:使用new的方式直接构造RDD,一般由Spark框架自身使用
}
}