creating new CSV by duplicating and modifying existing records multiple times from the source CSV
It really depends on what do you want to achieve and what hardware do you use. 
If you need to process this file fast and you actually have real Hadoop cluster (bigger than 1 or 2 nodes), then probably the best way would be to write Pig script or even simple Hadoop MapReduce job to process this file. With this approach you would get output file on HDFS so it will be easily accessible via Hive. 
On the other hand if you have single computer or some "toy" Hadoop cluster processing that file using Hadoop will take much longer time than simply executing python script on this file. It's because Hadopp processing has quite big overhead on data serialization and sending data through network. Of course in that case you will have to deal with the fact that input and output file may not fit into your RAM on your own.
I am a newbie in big data, I have an assignment in which I was given a CSV file and date field is one of the fields in that file.  The file size is only 10GB, but I need to create a much larger file, 2TB in size, for big data practice purpose, by duplicating the file's content but increasing the date in order making the duplicated records different from the original one.  Then have the new 2TB file accessible via Hive.  Need help on how the best way I suppose to implement this?  Is it best using pig in hadoop or python?