我正在将我的数据作为整个文本文件阅读。我的对象是我定义的类型Article
。这是数据的读取和处理:
JavaPairRDD<String, String> filesRDD = context.wholeTextFiles(inputDataPath);
JavaRDD<Article> processingFiles = filesRDD.map(fileNameContent -> {
String content = fileNameContent._2();
Article a = new Article(content);
return a;
}
现在,一旦每个文件都被单独处理,我想将结果作为单独的文件写入HDFS,而不是saveAsTextFile
。我知道我可能必须使用foreach
,所以:
processingFiles.foreach(a -> {
// Here is a pseudo code of how I want to do this
String fileName = here_is_full_file_name_to_write_to_hdfs;
writeToDisk(fileName, a); // This could be a simple text file
});
有关如何在Java中执行此操作的任何想法吗?