MapReduce é um modelo de programação utilizado no processamento de grandes volumes de dados.
Seu sucesso é decorrente do uso facilitado para processar dados de forma distribuída. Em seu uso, o
usuário precisa especificar uma função de Map para gerar os pares de chave/valor. Além disso, torna-se
necessário definir a função de Reduce para juntar os valores intermediários processados associados a
uma mesma chave. Qual das seguintes ferramentas implementa esse modelo de programação?