我有一个名为 samparr 的数组[String],其中包含一些值,我希望将其存储为输出文件。
var samparr: Array[String] = new Array[String](4)
samparr +:= print1 + " BEST_MATCH " + print2
就像,
val output = samparr.saveAsTextFile(outputpath)
但它不是一个 RDD,它是一个 Array[String]
您可以使用SparkContext.parallelize
将数组“分发”到 Spark 集群上(换句话说,将其变成 RDD),然后调用saveAsTextFile
:
sc.parallelize(samparr).saveAsTextFile(outputpath)
此操作将对数据进行分区并将每个分区发送到其中一个执行器,然后每个分区将被保存到单独的“文件部分”中。
或者,由于数组非常小,并且不能真正“证明”使用 Spark,因此您可以尝试任何将数据保存到文件的非 Spark 方法,例如链接的那个@avihoo-mamka https://stackoverflow.com/users/2455626/avihoo-mamka: 如何在 Scala 中写入文件? https://stackoverflow.com/questions/4604237/how-to-write-to-a-file-in-scala
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)