【问题标题】:Can inputs and outputs of hadoop be other than files?hadoop的输入和输出可以不是文件吗?
【发布时间】:2011-11-30 12:55:13
【问题描述】:

我正在尝试用 java 编写一个 hadoop mapreduce 程序。输入是一个数组,输出也是一个数组。但到目前为止,我只看到人们使用输入和输出作为它的文件。所以我只是想知道 mapreduce 是否可以有任何其他输入和输出格式。

谢谢

【问题讨论】:

  • ???文件实际上是二进制数据的任意数组。您还在寻找什么?

标签: java hadoop mapreduce


【解决方案1】:

Hadoop 支持多种输入和输出格式。检查InputFormatOutputFormat 的子类。如果需要任何自定义格式,请扩展 InputFormat 和 OutputFormat。在 DB 输入/输出格式上查看来自 Cloudera 的 article

【讨论】:

    【解决方案2】:

    Hadoop 是一个文件系统,map-reduce 的重点是处理通常无法放入内存的大量数据 - 因此输入和输出通常会以某种方式存储在磁盘上(也称为文件)。 Hadoop mapreduce 类支持读取 hadoop 支持的不同类型的文件(文本文件、顺序文件),您还可以编写自己的源代码,例如HBase comes with a map-reduce wrapper 读取其文件格式。我没有尝试过,但正如 Praveen 指出的文章所证明的那样,您可以从其他来源阅读

    输出更容易 - 因为您正在编写 Java 代码,所以您可以在 reduce 阶段做任何事情,所以如果您想在 reduce 阶段将消息放入队列中,只需这样做

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多