大家好,我是风云,欢迎大家关注我的个人原创公众号【笑看风云路】获取更多大数据技术干货,在未来的日子里我们一起来学习大数据相关的技术,一起努力奋斗,遇见更好的自己!
扫码进,更快捷:
在Spark中创建RDD的方式主要分为2种:
1.读取内存数据创建RDD
2.读取文件创建RDD
读取内存数据创建RDD,Spark主要提供了两个方法:parallelize和makeRDD。
使用makeRDD创建RDD的时候还可以指定分区数量。
val sc = new SparkContext(new SparkConf().setMaster("local[*]").setAppName("CreateRDD"))
// 从内存中创建RDD,将内存中集合的数据作为处理的数据源
val seq = Seq[Int](elems = 1,2,3,4)
// parallelize方法创建RDD
// val rdd = sc.parallelize(seq)
// makeRDD方法创建RDD
// val rdd = sc.makeRDD(seq)
// 指定分区数量创建RDD
val rdd = sc.makeRDD(seq,3)
rdd.collect().foreach(println)
sc.stop()
读取文件创建RDD,Spark提供了textFile和wholeTextFiles方法:
textFile:以行为单位进行读取数据,
wholeTextFiles:以文件为单位读取数据,读取的结果为元组形式,第一个值为文件路径,第二个值为文件内容。
val sc = new SparkContext(new SparkConf().setMaster("local[*]").setAppName("Rdd_File"))
// textFile方法读取文件创建RDD
// val rdd = sc.textFile(path = "test.txt")
// textFile方法也是可以指定分区数量的
// val rdd = sc.textFile(path = "test.txt", 3)
// wholeTextFiles方法读取多个文件创建RDD
val rdd = sc.wholeTextFiles(path = "test*.txt")
rdd.collect().foreach(println)
sc.stop()
注意:
1、path默认以当前环境的根路径为基准。可以写绝对路径,也可以写相对路径。
2、path支持具体文件路径,目录,压缩文件和通配符(*)
3、path还支持分布式存储系统路径:hdfs://
好了,今天就为大家分享到这里了。咱们下期见!
如果本文对你有帮助的话,欢迎点赞&收藏&分享,这对我继续分享&创作优质文章非常重要。感谢
–END–
非常欢迎大家加我个人微信,有关大数据的问题我们一起讨论。
扫码上方二维码,加我微信