Hadoop 使用Java类作为映射器,使用Python脚本作为缩减器

Hadoop 使用Java类作为映射器,使用Python脚本作为缩减器,hadoop,mapreduce,hadoop-streaming,Hadoop,Mapreduce,Hadoop Streaming,我正在尝试使用流媒体运行hadoop。我有两个文件。一个是mapper的java文件,另一个是reducer的python脚本 MerkleMapper.java 类MerkleMapper扩展了MapREduceBase并定义了map()函数。对于输入拆分的每条记录,它读取传入的键(字节偏移量),值(行)对,并输出行的字节偏移量和散列 Reducer是一个python脚本,它组合了所有哈希并生成一个顶级哈希 是否可以将两者结合起来(java和python)。如何使用流式处理将java文件指定为

我正在尝试使用流媒体运行hadoop。我有两个文件。一个是mapper的java文件,另一个是reducer的python脚本

MerkleMapper.java

类MerkleMapper扩展了MapREduceBase
并定义了
map()
函数。对于输入拆分的每条记录,它读取传入的
键(字节偏移量)
值(行)
对,并输出行的
字节偏移量和散列

Reducer是一个python脚本,它组合了所有哈希并生成一个顶级哈希


是否可以将两者结合起来(java和python)。如何使用流式处理将java文件指定为映射器。

您可以将其拆分为两个作业

第一个作业只有一个映射器(Java映射器),您可以将其输出传递到python流作业中,其中映射器是标识映射器,还原器是python还原器。目前,据我所知,您无法将流媒体和java结合起来