scala - 如何使用 scala 在 apache Spark 中存储操作结果

标签 scala hadoop apache-spark

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

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

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

    countval.saveAsTextFile("OUTPUT LOCATION")

有什么方法可以将 countval 存储到本地/hdfs 位置吗?

最佳答案

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

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

SparkContext中的parallelize方法将值的集合转换为RDD,因此需要先将单个值转换为单元素序列。然后就可以保存了。

关于scala - 如何使用 scala 在 apache Spark 中存储操作结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34412915/

相关文章:

scala - 如何捕获 Spark 异常并做某事?

scala - 如何根据 IntelliJ IDEA 中提供的参数生成方法或构造函数参数名称

eclipse - 什么是最好的 Scala 构建系统?

scala - 在迭代器列表上延迟这个 flatMap

hadoop - 基于时间的桶记录(kafka-hdfs-connector)

scala - 如何将 double 组的文件转换为 spark 中的数据帧?

scala - scala 中什么时候必须使用分号?

hadoop - Mapper Combiner patitioner shuffle/sort 顺序

scala - 在 Spark/Hadoop 中保存为自定义输出格式

apache-spark - 如何确保由 Spark DataFrame join 引起的分区?