我希望通过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都是由数字组成的列表。标题也是一个列表。 感谢。
答案 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