TPT has a provision of specifying to use specified number of instances for an operator as below:
STEP <step name>
INSERT INTO '||@TargetDatabase||'.'||@TargetTable||'
TO OPERATOR (<update_operator>)
So, my question is does TPT needs the user to give number of instances to use?. Why can't TPT inteligently figure-out how many number of instacnes to use perform a specific operator?.
Yes, the user must supply that number.
TPT does not yet have the ability to determine that value before the job is run.
We do not know the amount of data that the user will be loading.
We do not know the network topology or numbers of CPUs to determine where the bottlenecks might be.
We also do not know the "intent" of the user and their jobs.
All of these are factors that a user would probably take into account when assigning instances.
And a number that works for one customer site might not perform optimally in another customer site.