2016-11-11 31 views
0

我正在使用Spark流(在java中)使用來自Kafka的消息。我已經在rdd上做了一些處理。現在,我應該把這個處理過的信息(字符串)寫到s3上的一個文件中。我如何實現這一目標?在火花傳輸中寫入處理文件

directKafkaStream.map(message -> recordInjection.invert(message._2).get()).foreachRDD(rdd -> { 
       rdd.foreach(record -> { 
    // processing each record, storing the processed info in a string. 
    // write each processed record (string) to s3 
    }); 
}); 
+0

猜測唯一的方法是用map函數形成一個rdd然後寫入s3。 – RED

回答

0

你可以用RDD.saveAsTextFile( 「S3A://bucket/path/file.avro」),雖然你可能會發現自己創造了許多,許多小文件。

+0

Steve,我從RDD中提取了一些字段,這就是我想要保存到S3中的字段。由於我只能保存RDD,因此我無法直接保存這些字段。 – RED