Sparkrdd具有 saveAsTxtFile
功能。但是,如何打开一个文件并将一个简单的字符串写入hadoop存储?
val sparkConf: SparkConf = new SparkConf().setAppName("example")
val sc: SparkContext = new SparkContext(sparkConf)
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "...")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "...")
val lines: RDD[String] = sc.textFile("s3n://your-output-bucket/lines.txt")
val lengths: RDD[Int] = lines.map(_.length)
lengths.saveAsTextFile("s3n://your-output-bucket/lenths.txt")
val numLines: Long = lines.count
val resultString: String = s"numLines: $numLines"
// how to save resultString to "s3n://your-output-bucket/result.txt"
sc.stop()
2条答案
按热度按时间1wnzp6jl1#
假设你有一个
SparkContext
绑定到sc
:注意:为了保持简单,没有代码在出现异常时关闭writer。
qrjkbowd2#
为什么不这样做呢?
否则,您可能需要查看hadoopapi来编写一个文件并从驱动程序显式调用该代码。