As Kawish said, the throughput that you obtain will be dependent on many factors, such as the number of columns, the average amount of data per row, the available network bandwidth, the CPU and I/O speed of the client system, and the performance (TPERF) of the Teradata Database system.
For example, if you are loading records with ten columns or fewer, where the average row size is 1KB or less, from a fast powerful client machine, over a quiet 1GB Ethernet network, then loading one million rows with JDBC FastLoad CSV would probably take somewhere between one and two minutes.
Extrapolating from that, loading 20 million rows might take somewhere between 20 and 40 minutes. Your mileage may vary.
As Kawish said, the throughput that you obtain will be dependent on many factors, such as the number of columns, the average amount of data per row, the available network bandwidth, the CPU and I/O speed of the client system, and the performance (TPERF) of the Teradata Database system.
For example, if you are loading records with ten columns or fewer, where the average row size is 1KB or less, from a fast powerful client machine, over a quiet 1GB Ethernet network, then loading one million rows with JDBC FastLoad CSV would probably take somewhere between one and two minutes.
Extrapolating from that, loading 20 million rows might take somewhere between 20 and 40 minutes. Your mileage may vary.