繁体   English   中英

如何使用scala在apache spark中存储操作的结果

[英]How to store the result of an action in apache spark using scala

如何在 apache Spark Scala 中存储从以下操作生成的结果:在输出目录中计数?

    val countval= data.map((_,"")).reduceByKey((_+_)).count

以下命令不起作用,因为计数未存储为 RDD:

    countval.saveAsTextFile("OUTPUT LOCATION")

有没有办法将 countval 存储到本地/hdfs 位置?

在您调用count它不再是 RDD。

Count 只是Long并且它没有saveAsTextFile方法。

如果您想存储您的countval您必须像处理任何其他 long、string、int...

@szefuf 说的是正确的, count完之后,你就有了一个Long ,你可以用任何你想要的方式保存它。 如果您想使用.saveAsTextFile()将其保存为RDD.saveAsTextFile()必须将其转换为 RDD:

 sc.parallelize(Seq(countval)).saveAsTextFile("/file/location")

SparkContext 中的parallelize方法将一组值转换为 RDD,因此您需要先将单个值转换为单个元素序列。 然后你可以保存它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM