如何在apache Spark Scala中存储如下操作生成的结果:count在输出目录中?
val countval= data.map((_,"")).reduceByKey((_+_)).count
以下命令不起作用,因为计数未存储为RDD:
countval.saveAsTextFile("OUTPUT LOCATION")
有没有办法将countval存储到local / hdfs位置?
答案 0 :(得分:1)
致电count
后,它不再是RDD。
统计只是Long
,而且没有saveAsTextFile
方法。
如果你想存储你的countval
,你必须像任何其他长字符串一样存储...
答案 1 :(得分:1)
@szefuf说的是正确的,count
之后你有一个Long
你可以保存任何你想要的方式。
如果您想将其保存为RDD
.saveAsTextFile()
,则必须将其转换为RDD:
sc.parallelize(Seq(countval)).saveAsTextFile("/file/location")
SparkContext中的parallelize
方法将值集合转换为RDD,因此您需要先将单个值转换为单个元素序列。然后你可以保存它。