Without partitioning if we INSERT OVERWRITE (rather than INSERT INTO) then we would overwrite all of the existing data. With partitioning we only overwrite if the partition exists.
Currently this is an issue for:
Those tables would need to be re-created with per-month partitioning.
This would also make them much faster to query.