When you do INSERT-SELECT between 2 exact same tables then there is NO spool involved at all. That might be the reason when you match the datatype in table2 with table1, you do not get the spool space error.
Regarding getting the spool space error, there must be bad PI and/or PPI in these tables. Check the data in table once and make sure data is getting distributed evenly (as much as possible) among the amps. Also, if you are using your own id then either you can ask DBA to provide more spool space to your id or you can use some ETL id to do that operation as ETL ids usually have enough spool space allocated to them to perform such operations.
When you do INSERT-SELECT between 2 exact same tables then there is NO spool involved at all. That might be the reason when you match the datatype in table2 with table1, you do not get the spool space error.
Regarding getting the spool space error, there must be bad PI and/or PPI in these tables. Check the data in table once and make sure data is getting distributed evenly (as much as possible) among the amps. Also, if you are using your own id then either you can ask DBA to provide more spool space to your id or you can use some ETL id to do that operation as ETL ids usually have enough spool space allocated to them to perform such operations.