Quais são os prós e os contras de executar um trabalho no Hadoop usando vários idiomas?

Eu tenho usado o Pig ou Java para Map Reduce exclusivamente para executar tarefas em um cluster Hadoop até agora. Recentemente, experimentei usar o Python Map Reduce através do streaming do Hadoop e isso foi bem legal também. Tudo isso faz sentido para mim, mas estou um pouco confuso sobre quando gostaria de usar uma implementação v.s. outro. Redução de mapa em Java, uso basicamente exclusivamente quando preciso de velocidade, mas quando é que eu gostaria de usar algo como streaming em Python em vez de apenas escrever a mesma coisa em menos linhas, mais facilmente compreensíveis no PIG / Hive? Em resumo, quais são os prós e os contras de cada um?

questionAnswers(6)

yourAnswerToTheQuestion