如何防止将空Avro文件提交到HDFS?

时间:2014-10-16 15:40:49

标签: hadoop hdfs avro

我有一份工作,可以将Avro文件创建到HDFS中,并在文件中附加数据。但是,有时候不会有任何附加数据,在这种情况下我不希望应用程序刷新和关闭文件,而是应该检查文件是否为空(但我认为Avro架构将被写入标题在技术上不是空文件)并删除文件,如果它是空的。

Avro + HDFS lib是否可行?

1 个答案:

答案 0 :(得分:3)

在指定作业的输出格式时尝试使用LazyOutputFormat。它会懒惰地创建输出,这意味着只有输出存在时才会创建输出文件。

所以不要写像:     job.setOutputFormatClass(TextOutputFormat.class);

您可以像这样使用LazyOutputFormat:     LazyOutputFormat.setOutputFormatClass(job,TextOutputFormat.class);