2016-11-11 5 views
0

私はスパークストリーミング(Javaで)を使用して、カフカからのメッセージを消費しています。私はrddの上でいくつかの処理を行った。さて、私はこの処理された情報(文字列)をs3のファイルに書きます。これをどのように達成するのですか?あなた自身が多く、多数の小さなファイルを作成見つけるかもしれませんが、(「//bucket/path/file.avro S3A」)スパークストリーミングで処理されたファイルを書き込む

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

唯一の方法は、マップ関数を使用してrddを作成し、次にs3に書き込むことです。 – RED

答えて

0

あなただけRDD.saveAsTextFileを使用することができます。

+0

スティーブ、私はRDDからいくつかのフィールドを抽出しています。それはS3に保存したいものです。私はRDDしか保存できないので、これらのフィールドを直接保存する方法はありません。 – RED

関連する問題