我想使用Spark Streaming(1.1.0-rc2 Java-API)來處理一些文件,並在處理成功完成後移動/重命名它們,以便將它們推送到其他工作。Apache Spark移動/重命名成功處理的文件
我想過如何使用生成的RDD名稱中包含的文件路徑(newAPIHadoopFile),但我們如何確定文件處理的成功結束?
也不確定這是正確的方式來實現它,所以任何想法都是值得歡迎的。
編輯: 下面是一些僞代碼更加清楚:
logs.foreachRDD(new Function2<JavaRDD<String>, Time, Void>() {
@Override
public Void call(JavaRDD<String> log, Time time) throws Exception {
String fileName=log.name();
String newlog=Process(log);
SaveResultToFile(newlog, time);
//are we done with the file so we can move it ????
return null;
}
});
這是什麼意思,在這裏處理文件? – 2014-08-29 22:56:06
@SeanOwen基本上,我通過應用一些轉換來創建對應的RDD(每行)的豐富版本,然後將結果寫入輸出目錄 – Aminouvic 2014-08-30 00:03:05
那麼當你完成後你怎麼不知道?你的代碼完成手動寫入文件否? – 2014-08-30 07:19:55