我正在尝试使用流媒体运行hadoop。我有两个文件。一个是mapper的java文件,另一个是reducer的python脚本。
MerkleMapper.java
Class MerkleMapper extends MapREduceBase
并定义map()
函数。对于输入拆分的每条记录,它会读取传入的key(byte_offset)
,value(line)
对,并输出该行的byte_offset
和哈希值。
Reducer是一个python脚本,它结合了所有哈希并产生一个顶级哈希。
是否可以将两者结合起来(java和python)。如何使用Streaming将我的java文件指定为mapper。
答案 0 :(得分:0)
您可以将其拆分为2个职位。
第一个作业只有一个映射器(你的Java映射器),你获取它的输出并将其传递给python流作业,其中你的Mapper是身份映射器,你的reducer是python Reducer。目前,您无法将我所知道的流媒体和java结合起来。