https://byteshiva.medium.com/how-i-processed-a-file-with-1-billion-lines-and-how-you-can-too-75c5f699b9b8