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中