我知道与Key关联的所有值都会发送到单个Reducer。是这样的情况下,Reducer可以通过它的标准输入一次获得多个键吗?
我的用例是我将行拆分为键值对,然后我想将与键相关联的所有行发送到API。我看到多个密钥会立即发送到API中。
以下是我的作业正在运行的一些示例代码
映射
def main():
for line in sys.stdin
part1 = get_part1(line)
part2 = get_part2(line)
key = '%s - %s' % (part1, part2)
print '%s\t%s' % (key, line)
减速
def main():
my_module.sent_to_api(sys.stdin)
答案 0 :(得分:2)
虽然与单个键关联的所有值都被发送到单个reducer,但该reducer可能不仅仅是那个键,因此每个输出文件中都出现了多个键。