Это не проблема с Hadoop, это проблема с тем, как вы читаете строку.
reader.readline()
, вероятно, читает по одному символу за раз, потому что ему нужно выяснить, где находится конец строки. Поэтому проверка символ за символом, вероятно, не будет намного медленнее. Вы можете читать по одному символу за раз, вставлять его обратно в какой-то список или буфер. Если это становится слишком длинным, игнорируйте линию и продолжайте. Как только вы видите символ новой строки, вы можете идти.