2012-02-11 58 views
1

我试图运行流式处理hadoop。我有两个文件。一个是mapper的java文件,另一个是reducer的python脚本。使用Java Class作为映射器和Python脚本作为Reducer

MerkleMapper.java

Class MerkleMapper extends MapREduceBase并限定map()功能。对于输入分割的每条记录,它将读取输入key(byte_offset),value(line)对并输出byte_offset和该行的散列。

Reducer是一个python脚本,它结合了所有的散列并生成一个顶部散列。

是否有可能将两者结合起来(java和python)。我如何使用Streaming将我的java文件指定为映射器。

回答

0

你可以把它分成2份工作。

第一份工作只有一个映射器(您的Java映射器),您将其输出并将其传递到python流作业,其中您的映射器是标识映射器,而您的reducer是python Reducer。目前,你不能从我所知道的流和Java组合。

相关问题