2016-06-11 20 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

相关问题