RDD 中action的saveAsTextFile和saveAsObjectFile详解 (视频笔记)

saveAsTextFile
将RDD中的每个元素变为(null,element.toString)
每个分区都会存储成一个block,基本都是一一映射。
sc.textFile("hdfs://hadoop-1:9000/data/test/test.dat").flatMap(_.split(" ")).map(word=>(word,1)).reduceByKey(_+_).saveAsTextFile("/data/test/word_count_result.dat")
结果直接存储在hdfs中

saveAsObject
现将RDD转为数组,然后序列化,然后将结果变换为(null,byteWritable)
sc.textFile("hdfs://hadoop-1:9000/data/test/test.dat").flatMap(_.split(" ")).map(word=>(word,1)).reduceByKey(_+_).saveAsObjectFile("/home/datauser/word_count_result.dat")
结果直接存储在hdfs中

原文地址:https://www.cnblogs.com/isenhome/p/5085583.html