Według Hadoop - The Definitive Guide
Rekordy logiczne zdefiniowane przez FileInputFormats zwykle nie pasują dokładnie do bloków HDFS. Na przykład rekordy logiczne TextInputFormat to linie, które częściej przekraczają granice HDFS. Nie ma to wpływu na funkcjonowanie twojego programu - na przykład linie nie są pomijane ani przerywane - ale warto o tym wiedzieć, ponieważ oznacza to, że mapy lokalne (to znaczy mapy, które działają na tym samym hoście, co ich dane wejściowe) wykona kilka odczytów zdalnych. Niewielki narzut, jaki to powoduje, zwykle nie jest znaczący.
Załóżmy, że wiersz rekordu jest podzielony na dwa bloki (b1 i b2). Mapper przetwarzający pierwszy blok (b1) zauważy, że ostatnia linia nie ma separatora EOL i pobiera pozostałą część linii z następnego bloku danych (b2).
W jaki sposób program odwzorowujący przetwarzający drugi blok (b2) ustala, że pierwszy rekord jest niekompletny i powinien przetwarzać, zaczynając od drugiego rekordu w bloku (b2)?
LineReader.readLine
funkcji, nie sądzę, że jest to istotne dla twojego pytania, ale w razie potrzeby mogę dodać więcej szczegółów.