【问题标题】:Whats the difference between mapred and mapreduce packages in apache avro?apache avro中的mapred和mapreduce包有什么区别?
【发布时间】:2013-09-29 16:18:10
【问题描述】:

我正在做我的项目,将apache avro 整合到我的 MapR 程序。但是,我很困惑 与 ma​​pred 相比,使用了新的 ma​​preduce 包。 latter 详细说明如何使用 在不同的情况下,新的信息很少。 但我知道的是,它们对应hadoop的新旧接口。

有没有人有任何使用 ma​​preduce 接口的经验或例子 对于输入为非 Avro 数据的作业 (如 TextInputFormat)文件 并且输出是 avro 文件。

【问题讨论】:

    标签: java hadoop mapreduce avro


    【解决方案1】:

    这两个包代表了相应的 Hadoop mapred 和 mapreduce API 的输入/输出格式、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

    【讨论】:

    • 我可以参考你的 gist 示例成功运行我的程序,也许 avro 可以在新的 mapreduce 上做得更好,使其成为一个独立的包而不依赖 mapred,就像 AvroKey 和其他包装器一样。谢谢
    • 如果您不想使用 AvroKey,请查看avro.apache.org/docs/current/api/java/org/apache/avro/mapreduce/… 的 API 文档。它指出您可以改用基本的 Hadoop Writable 类型,并且输出格式会将它们转换为它们的 avro 类型
    猜你喜欢
    • 2014-06-20
    • 1970-01-01
    • 2014-12-28
    • 2016-10-04
    • 1970-01-01
    • 2012-05-04
    • 2015-08-28
    • 2016-06-23
    • 2016-06-05
    相关资源
    最近更新 更多