Hadoop Avro文件大小问题

时间:2015-10-01 16:26:09

标签: hadoop hdfs bigdata avro

我有一个cronjob,它每5分钟从互联网上的服务器下载zip文件(200字节到1MB)。如果我按原样将zip文件导入HDFS,我会遇到臭名昭着的Hadoop小文件大小问题。为了避免在HDFS中建立小文件,处理zip文件中的文本数据并将其转换为avro文件,并等待每6个小时将我的avro文件添加到HDFS中。使用这种方法,我设法将avro文件导入HDFS,文件大小超过64MB。文件大小从50MB到400MB不等。我关心的是,如果我开始构建开始进入500KB avro文件大小范围或更大范围的文件大小会发生什么。这会导致Hadoop出现问题吗?其他人如何处理这种情况?

1 个答案:

答案 0 :(得分:1)

假设你有一些Hadoop后聚合步骤并且你正在使用一些可拆分压缩类型(序列,snappy,根本没有),你不应该面对来自Hadoop的任何问题。结束。

如果您希望您的avro文件大小更小,最简单的方法是使您的聚合窗口可配置并在需要时降低它(6小时=> 3小时?)。另一种可以确保文件大小更加一致的方法是保持从下载文件中看到的行数,然后在达到某个行阈值后合并上传。