I would recommend reading these docs:
There is also a “combine” data source that may be useful to you:
My understanding is that the hash partitioning preparation work is on a per-task basis, determining what segments will be generated. I believe therefore that the partition profile is potentially different for each input data source. Is your concern mainly around query performance in this instance? I’m not aware of any experiments that have been done showing whether this affects query performance, necessarily?
Re: overshadowing, this may help: