I'm not sure to understand your process. What is the purpose of joining files with your 21 million records table before loading them in the database ?
Do you want to check lines that match with rows in the DB ? Perhaps you'd better use files as lookup instead of having a 21 million rows lookup table.
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Find out about Talend's 2019 Summer release
Talend continues to revolutionize how businesses leverage speed and manage scale
Look at6 ways to start utilizing Machine Learning with Amazon We Services and Talend