Thanks Hitesh.

Saikat 


     On Thursday, August 13, 2015 3:10 PM, Hitesh Shah <[email protected]> 
wrote:
   

 When a vertex is ready to start launching tasks, it will look at available 
information of output generated by upstream vertices and based on configured 
optimal data size per task, it will re-configure the vertex’s parallelism. The 
basic tez or mapreduce shuffle implementation is that the map stage generates 
say 1000 partitions if there are 1000 reducers. The default mode would be 
assign partition 1 to reducer 1 and so on. If the new parallelism is different, 
a new routing table is needed to map which partitions are handled by which 
reducers. This is done in Tez by overriding the default Shuffle Edge Manager 
with a custom Edge Manager ( i.e a new routing table ).

You can look at ShuffleVertexManager.java and start from schedulePendingTasks() 
to see how parallelism is determined at runtime.

— Hitesh

On Aug 13, 2015, at 11:54 AM, Saikat Roychowdhury 
<[email protected]> wrote:

> Hi, AllCan someone give some pointers to the code base to understand how auto 
> reduce parallelism works in Tez?
> -Saikat


  

Reply via email to