读取HDFS中的文件创建RDD
private def makeRDDFromHDFS = {
val conf: SparkConf = new SparkConf().setAppName(this.getClass.getSimpleName).setMaster(“local[*]”)
val sc = new SparkContext(conf)
//读取HDFS文件
val rdd: RDD[String] = sc.textFile(“hdfs://doit01:9000/word.txt”)
sc.stop()
}
读取本地问及那创建RDD
private def makeRDDFromDisk = { val conf: SparkConf = new SparkConf().setAppName(this.getClass.getSimpleName).setMaster(“local[*]”) val sc = new SparkContext(conf) // 返回的是处理整个文件数据的RDD val rdd: RDD[String] = sc.textFile(“d://word.txt”) rdd.foreach(println) sc.stop() }
通过并行化方式,将Driver端的集合转成RDD
这是将普通集合转换成分布式集合提交给集群
parallelize/makeRDD (makeRDD底层调用的是parallelize,所以使用parallelize创建RDD的小率比较高)
将Driver端的scala集合并行化成RDD,RDD中并没有真正要计算的数据,只是记录以后从集合中的哪些位置获取数据
val arr =Array(1,2,3,4,5,6)*
*val rdd1: RDD[Int] = sc.parallelize(arr)