我正在进行我的项目,将apacheavro集成到我的mapr程序中。但是,与mapred相比,新的mapreduce包的使用让我非常困惑。后者对如何在不同的情况下使用进行了详细的说明,而对新的情况给出的信息较少。但我知道的是,它们对应于hadoop的新旧接口。对于输入为非avro数据(如textinputformat)文件、输出为avro文件的作业,是否有人有使用mapreduce接口的经验或示例。
wooyq4lh1#
这两个包表示输入/输出格式、对应hadoopmapred和mapreduceapi的mapper和reducer基类。因此,如果您的作业使用旧的(mapred)包api,那么您应该使用相应的mapred avro包类。avro有一个使用avro输出格式的字数自适应示例,对于较新的mapreduce api,该格式应该很容易修改:http://svn.apache.org/viewvc/avro/trunk/doc/examples/mr-example/src/main/java/example/avrowordcount.java?view=markup以下是一些修改要点:https://gist.github.com/chriswhite199/6755242
1条答案
按热度按时间wooyq4lh1#
这两个包表示输入/输出格式、对应hadoopmapred和mapreduceapi的mapper和reducer基类。
因此,如果您的作业使用旧的(mapred)包api,那么您应该使用相应的mapred avro包类。
avro有一个使用avro输出格式的字数自适应示例,对于较新的mapreduce api,该格式应该很容易修改:
http://svn.apache.org/viewvc/avro/trunk/doc/examples/mr-example/src/main/java/example/avrowordcount.java?view=markup
以下是一些修改要点:https://gist.github.com/chriswhite199/6755242