a saída da fase do mapa do trabalho de mapreduce está sempre classificada?

Estou um pouco confuso com a saída que recebo do Mapper.

Por exemplo, quando executo um programa simples de contagem de palavras, com este texto de entrada:

hello world
Hadoop programming
mapreduce wordcount
lets see if this works
12345678
hello world
mapreduce wordcount

esta é a saída que eu recebo:

12345678    1
Hadoop  1
hello   1
hello   1
if  1
lets    1
mapreduce   1
mapreduce   1
programming 1
see 1
this    1
wordcount   1
wordcount   1
works   1
world   1
world   1

Como você pode ver, a saída do mapeador já está classificada. Eu não corriReducer em absoluto. Mas eu acho em um projeto diferente que a saída do mapeador não é classificada. Então, eu sou totalmente claro sobre isso ..

Minhas perguntas são:

A saída do mapeador está sempre classificada?A fase de classificação já está integrada na fase do mapeador, para que a saída da fase do mapa já esteja classificada nos dados intermediários?Existe uma maneira de coletar os dados desort and shuffle fase e persistir antes de ir para o redutor? Um redutor é apresentado com uma chave e uma lista de iteráveis. Existe uma maneira, eu poderia persistir esses dados?

questionAnswers(5)

yourAnswerToTheQuestion