In my opinion that's exactly what a Map/Reduce is intended for: big data processing. I've run millions of records thru M/R in the past and have been successful (loaded historical transactions on a new implementation) - even if it takes days to do it. You'll probably have a day's worth of execution. But it works well. You can keep its concurrency low so that you don't bog down your processors and let other scripts in the account still run. And you can manage on the deployment how much time to allow the script to be running before it takes a pause and allows other script to execute. But mostly, when I have large data sets like this to process, I do it at the end of the day and let it run thru the night. My experience says do the M/R.