如何将Array [String]存储到输出文件

时间:2017-05-09 13:15:43

标签: scala apache-spark

我有一个名为samparr的Array [String],其中包含一些值,我希望它存储为输出文件。

var samparr: Array[String] = new Array[String](4)
samparr +:= print1 + "  BEST_MATCH  " + print2

就像,

val output = samparr.saveAsTextFile(outputpath)

但不是RDD,它是一个数组[String]

1 个答案:

答案 0 :(得分:5)

您可以使用SparkContext.parallelize将阵列“分发”到Spark群集上(换句话说,将其转换为RDD),然后调用saveAsTextFile

sc.parallelize(samparr).saveAsTextFile(outputpath)

此操作将对数据进行分区并将每个分区发送到其中一个执行程序,然后将每个分区保存到单独的“文件部分”中。

或者,由于数组非常小并且使用Spark并不真正“合理”,您可以尝试将数据保存到文件的任何非Spark方法,例如由@avihoo-mamka链接的How to write to a file in Scala?