我正在尝试用java编写hadoop mapreduce程序。输入是一个数组,输出也是一个数组。但到目前为止,我只看到人们使用输入和输出作为文件。所以我只是想知道mapreduce是否可以有任何其他输入和输出格式。
谢谢
Hadoop支持多种输入和输出格式。检查InputFormat和OutputFormat的子类。如果需要任何自定义格式,则扩展InputFormat和OutputFormat。查看来自Cloudera的关于DB输入/输出格式的文章。
Hadoop是一个文件系统,map-reduce的目的是处理通常不适合内存的大量数据——因此输入和输出通常以某种方式存储在磁盘上(也称为文件)。Hadoop mapreduce类支持读取Hadoop支持的不同类型的文件(文本文件,顺序文件),你也可以编写自己的源代码,例如HBase自带一个map-reduce包装器,读取其文件格式。我还没有试过,但你可以,正如Praveen的文章所指出的那样,从其他来源阅读
输出更容易-因为您正在编写Java代码,您可以在reduce阶段做任何事情,所以如果您想,例如,在reduce阶段将消息放入队列中,请这样做