A number of issues that might benefit from review.
sudo dd if=/dev/sda bs=64k | pv --size 1.5t | dd of=/dev/sdb
Firstly, you can (vastly) increase the block size and correspondingly increase the throughput. I often use bs=32M. The order of the parameters to dd does not matter, so:
sudo dd if=/dev/sda bs=1M
Next, it doesn't matter whether you specify --size with or without an equals. Long args (those starting with a double dash) usually aren't fussy. However, a quick try out of pv shows that the argument must be an integer. So:
pv --size 1500g
Finally, it would be worth specifying a large (output) buffer for dd, and you'll probably need to run it with root privileges. Because we are using a large buffer it's worth ensuring we have filled it completely before trying to write it out. So you end up with this:
sudo dd of=/dev/sdb bs=1M iflag=fullblock
Putting it all together,
sudo dd if=/dev/sda bs=1M | pv --size 1500g | sudo dd of=/dev/sdb bs=1M iflag=fullblock
I should really point out, though, that on Linux-based systems there's no need to use dd for copying from/to disk drives. On this basis the whole command chain can be simplified to just this,
sudo sh -c 'pv --skip-errors --size 1500g </dev/sda >/dev/sdb'