使用Hadoop中的Avro输入格式控制分割大小

时间:2013-06-11 23:56:36

标签: hadoop mapreduce avro

我必须阅读在HDFS中的avro文件中序列化的Avro记录。为此,我使用AvroKeyInputFormat,因此我的映射器能够将读取记录用作键。

我的问题是,如何控制分割尺寸?使用文本输入格式,它包括定义大小(以字节为单位)。在这里,我需要定义每个拆分将包含多少条记录。

我想管理输入目录中的每个文件,就像一个大文件一样。我有没有使用CombineFileInputFormat?可以和Avro一起使用吗?

1 个答案:

答案 0 :(得分:0)

拆分荣誉逻辑记录边界,最小和最大边界以字节为单位 - 即使分割边界以字节为单位定义,文本输入格式也不会破坏文本文件中的行。

要将每个文件放在拆分中,您可以将最大拆分大小设置为Long.MAX_VALUE,也可以在代码中覆盖isSplitable方法并返回false。