I'm getting confused after reading below article on Hadoop- Definitive guide 4th edition(page-204)
Before it writes to disk, the thread first divides the data into partitions corresponding to the reducers that they will ultimately be sent to.
Within each partition, the background thread performs an in-memory sort by key, and if there is a combiner function, it is run on the output of the sort.
Running the combiner function makes for a more compact map output, so there is less data to write to local disk and to transfer to the reducer.
Here is my doubt:
1) Who will execute first combiner or partitions !!
2) When custom combiner and custom partitions will be there so how and what will be the execution steps hierarchy ?
3) Can we feed compress data (avro ,sequence ..etc) to Custom combiner ,if yes then how!!
Looking for a brief and in-depth explanation!!
Thanks in advance.