我想使用Scala在Spark Streaming中將RDD[String]
寫入Amazon S3。這些基本上是JSON字符串。不知道如何更有效地做到這一點。 我找到了this post,其中使用了庫spark-s3
。這個想法是創建SparkContext
然後SQLContext
。在此之後,帖子的作者確實是這樣的:如何將流數據寫入S3?
myDstream.foreachRDD { rdd =>
rdd.toDF().write
.format("com.knoldus.spark.s3")
.option("accessKey","s3_access_key")
.option("secretKey","s3_secret_key")
.option("bucket","bucket_name")
.option("fileType","json")
.save("sample.json")
}
什麼是除了spark-s3
其他的選擇嗎?是否可以將S3上的文件追加到流數據中??
我是否正確理解清潔選項是使用Spark的'saveAsTextFile',而不是使用'spark-s3'? – Lobsterrrr
在您的第一個示例中,我應該在哪裏放置Amazon訪問密鑰並通過? – Lobsterrrr
1,@Lobsterrrr我認爲'saveAsTextFile'是由spark api提供的。 2,並且@jbird注意到它實際上不是逐字追加的。添加大數據對我來說沒有什麼意義 - 更好的方法是創建分區,例如 – VladoDemcak