Both tJoin and tMap can be used to do a join between different data sources. However, the two components have different characteristics, depending on your business needs. This article explains the differences between tJoin and tMap.
tJoin is a basic pure component used to do a join, including inner join and left outer join, between two data sources. tMap is more powerful in terms of functionality than tJoin, though tMap can be used to perform the same functionality.
Below is a list of the differences between tJoin and tMap:
From the above list of differences, you can see that tMap is a powerful component that can handle more complicated cases compared to tJoin, which is basic. tMap generates more code while compiling, and it may take more space and time to load the data in the memory during the job execution than tJoin. Generally speaking, you should use tJoin if it is able to meet your requirements; otherwise, use tMap.