如何在sparkscala中将iterable[string]保存到hdfs

6l7fqoea  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(317)
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);

如何将可iterable[string]的输出保存到spark scala中的hdfs。iterable[字符串]
注意:ouput不是rdd(我不能使用output.saveastextfile(“hdfs路径”)

jtjikinw

jtjikinw1#

一种方法是只编写一个简单的hdfs文件(与在vanillascala或java中的方法相同)。这与Spark无关。
另一种方法是把你的 output 把它保存起来。

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

相关问题