Input and Output Ports
Let's start of by looking at another general concept that you should master, namely Data Ports. Every single component has both an Input port and an Output port. Even the Data Readers and Writers have both.
As we already know, Metadata is associated with each Edge (join line) and this automatically defines the data format that leaves the output port of one component and arrives at the input port of another.
Each component has its own unique way of using ports. Usually the port information is contained within the Specification property of the component. So, if you double-click on the a reader (e.g. "IDSDelimited" in my example) and then scroll down to the "Specification" property, click on the property value part and then press the '...' button you will see something like that:
Here we can learn that all data is sent to the first port other than error data.
The "Simple Copy" component shown above copies data to all attached output ports. The "ExtHashJoin" component in the image above obviously requires multiple data sources, each of which is joined with the others (other parameters determine how the data is joined).