Apache Spark移动/重命名成功处理的文件

时间:2014-08-29 18:50:21

标签: hadoop apache-spark

我想使用spark streaming(1.1.0-rc2 Java-API)来处理一些文件,并在处理成功完成后移动/重命名它们,以便将它们推送到其他作业。

我考虑过使用生成的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;
}             

});

1 个答案:

答案 0 :(得分:0)

您无法保证输入由HDFS文件支持。但鉴于你的问题,你似乎并不需要这样做。您创建一个新文件并写入一些内容。写完成后,您就完成了。使用其他HDFS API移动它。