我正在用Java编写一个map reduce作业,我想知道是否可以将作业的输出作为流(可能是输出流)而不是物理输出文件。我的目标是将流用于另一个应用程序。
您可以编写自定义输出格式,并使用该格式写入任何您想要的流。不一定是文件。请参阅本教程,了解如何编写自定义输出格式。
或者你可以使用Hadoop流API。看看这里。
我认为使用Apache Hadoop无法做到这一点。它被设计为在分布式系统中工作,而AFAIK提供了发射output stream
的方式,这将违背目的,因为系统将如何决定要发射的流,即哪个还原器!您可以写入平面文件/DB/amazon-s3等,但可能不会得到流。