我有一个名为samparr的Array [String],其中包含一些值,我希望它存储为输出文件。
var samparr: Array[String] = new Array[String](4)
samparr +:= print1 + " BEST_MATCH " + print2
就像,
val output = samparr.saveAsTextFile(outputpath)
但不是RDD,它是一个数组[String]
答案 0 :(得分:5)
您可以使用SparkContext.parallelize
将阵列“分发”到Spark群集上(换句话说,将其转换为RDD),然后调用saveAsTextFile
:
sc.parallelize(samparr).saveAsTextFile(outputpath)
此操作将对数据进行分区并将每个分区发送到其中一个执行程序,然后将每个分区保存到单独的“文件部分”中。
或者,由于数组非常小并且使用Spark并不真正“合理”,您可以尝试将数据保存到文件的任何非Spark方法,例如由@avihoo-mamka链接的How to write to a file in Scala?