如何在AWS上使用saveAsTextFile?

时间:2016-03-28 21:42:56

标签: scala amazon-web-services apache-spark

我希望通过println获得一些东西,但是通过使用AWS,它可能无法正常工作,如何使用" saveAsTextFile"?将println的内容保存为AWS上的文件? println的原始内容如下:

println("\n[ First output is ]")
output1.foreach(a => println("(" + a +"," + titles(a - 1) + ")"));
println("\n[ Second output us ]")
output2.foreach(a => println("(" + a +"," + titles(a - 1) + ")"));

output1和output2都是由数字组成的列表。标题也是一个列表。 感谢。

1 个答案:

答案 0 :(得分:0)

如果两者都是List,那么您可以使用RDD的方法SparkContext将它们转换为parallelize s。

val rdd1 = sc.parallelize(List("[ First output is ]") ++ output1.map(a => "(" + a + "," + titles(a - 1) + ")"))
val rdd2 = sc.parallelize(List("[ Second output is ]") ++ output2.map(a => "(" + a + "," + titles(a - 1) + ")"))

在此之后,您可以在所需的 s3 路径中使用saveAsTextFile

rdd1.saveAsTextFile("s3://yourAccessKey:yourSecretKey@/out1.txt")
rdd2.saveAsTextFile("s3://yourAccessKey:yourSecretKey@/out2.txt")

我建议您阅读此博客,它可能有助于您了解有关 S3 Apache-Spark Writing s3 data with Apache Spark

的重要信息