Just a small note:
Partition component does assign the filtered records to the output ports randomly when using the Partition key
That is not really true. In fact the Partition component in that case (partition key defined) calculates a HASH of that key (which is a 32bit number) and then based on that hash value sends the data record out through particular port which represents a "bucket" into which that value belongs. Very much like hash table works.Why is this important ?
Simple - the same key value gets sent out through the same output port - which means you are essentially grouping records with the same partition key values. Which may become important in certain cases. However this does not guarantee that, for example, the value "A" would be sent out through the first port and "B" through the second. Just guarantees that all "A"s would be sent through the same port.