草庐IT

LazyOutputFormat

全部标签

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

我的工作是在HDFS中创建一个Avro文件,并在该文件中附加数据。然而,偶尔不会有任何数据追加,在这种情况下我不希望应用程序刷新并关闭文件,而是应该检查文件是否为空(但我假设Avro模式将被写入header所以技术上不是一个空文件)并删除该文件,如果它是空的。这对Avro+HDFS库可行吗? 最佳答案 尝试使用LazyOutputFormat在指定作业的输出格式时。它延迟创建输出,这意味着只有在输出存在时才会创建输出文件。所以不要写这样的东西:job.setOutputFormatClass(TextOutputFormat.cla