hadoop的输入和输出可以不是文件吗?

时间:2011-11-29 18:17:36

标签: java hadoop mapreduce

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

由于

2 个答案:

答案 0 :(得分:1)

Hadoop支持各种输入和输出格式。检查InputFormatOutputFormat的子类。如果需要任何自定义格式,请扩展InputFormat和OutputFormat。从数据库输入/输出格式的Cloudera中查看article

答案 1 :(得分:0)

Hadoop是一个文件系统,map-reduce的目的是处理通常不适合内存的大量数据 - 因此输入和输出通常会以某种方式存储在磁盘上(a.k.a。文件)。 Hadoop mapreduce类支持读取hadoop支持的不同类型的文件(文本文件,顺序文件),您也可以编写自己的源代码,例如HBase comes with a map-reduce wrappe r读取其文件格式。我没有尝试过,但正如Praveen所指出的文章所示,你可以从其他来源读到

输出更容易 - 因为你正在编写Java代码,你可以在reduce阶段做任何事情,所以如果你想在reduce阶段把消息放入队列就行了