I'm trying to understand how map-reduce actually work. please read what i written below and tell me if there's any missing parts or incorrect things in here. Thank you.
The data is first splitted into what is called input splits(which is a logical kind of group which we define the size of it as our needs of record processing). Then, there is a Mapper for every input split which takes every input split and sort it by key and value. Then, there is the shuffling process which takes all of the data from the mappers (key-values) and merges all the same keys with its values(output it's all the keys with its list of values). The shuffling process occurs in order to give the reducer an input of a 1 key for each type of key with its summed values. Then, the Reducer merges all the key value into one place(page maybe?) which is the final result of the MapReduce process. We only have to make sure to define the Map(which gives output of key-value always) and Reduce(final result- get the input key-value and can be count,sum,avg,etc..) step code.