2016-06-11 92 views
2
val ordersRDD = sc.textFile("/user/cloudera/sqoop_import/orders"); 
val ordersRDDStatus = ordersRDD.map(rec => (rec.split(",")(3), 1)); 
val countOrdersStatus = ordersRDDStatus.countByKey(); 
val output = countOrdersStatus.map(input => input._1 + "\t" + input._2); 

如何在spark-scala中保存Iterable [String]的輸出到hdfs。 可迭代[字符串]如何在spark-scala中保存Iterable [String]到hdfs

注:輸出中不是一個RDD(我不能使用output.saveAsTextFile(「HDFS路徑」)

回答

4

一種方法是隻寫一個簡單的HDFS文件(同樣的方式,你會怎麼做在香草斯卡拉或Java)。這有什麼好做的火花。

另一種方式是將您output到RDD和保存。

val output = countOrdersStatus.map(input => input._1 + "\t" + input._2) 
sc.makeRDD(output.toList).saveAsTextFile("hdfs-path") 
+1

上面的代碼工作得很好。謝謝。 – Anhata

相關問題