I had worked on a similar kind of migration last year and wrote a custom script that makes use of Share Gate Shell dLL's to pick up an Item ID mentioned in CSV ,migrate it to the destination and then log about it in a log file.
You can find the code and all the details at the blog below-
Migrating your organizational data to SharePoint Online requires careful planning to be successful. You could refer to this article:
What you need to think about when migrating files to SharePoint Online
To avoid the throttling issue in SharePoint Online, read this article for more:
There are many ways we can handle this migration (700 GB) :
With the combination of Azure VM and SPMT (SharePoint Migration Tool)
to avoid the throttling issues.
MSDN documentation is here :
If you have Metalogix Migration tool, do a sample ...
Microsoft provides it's own built in Migration Tool and that is part of the O365 offering now so it is free if you've already purchased your licenses. You can read about it here -> https://docs.microsoft.com/en-us/sharepointmigration/how-to-use-the-sharepoint-migration-tool
Your mileage may vary with this tool depending on the complexity of your migration ...