Menurut Hadoop - The Definitive Guide
Catatan logis yang didefinisikan FileInputFormats biasanya tidak cocok dengan baik ke dalam blok HDFS. Misalnya, catatan logis TextInputFormat adalah garis, yang akan melewati batas HDFS lebih sering daripada tidak. Ini tidak ada hubungannya dengan fungsi program Anda — garis tidak terlewat atau putus, misalnya — tetapi perlu diketahui, karena itu berarti peta data-lokal (yaitu, peta yang berjalan pada host yang sama dengan input data) akan melakukan beberapa pembacaan jarak jauh. Overhead kecil yang disebabkan ini biasanya tidak signifikan.
Misalkan baris rekaman dibagi menjadi dua blok (b1 dan b2). Pemeta yang memproses blok pertama (b1) akan melihat bahwa baris terakhir tidak memiliki pemisah EOL dan mengambil sisa baris dari blok data berikutnya (b2).
Bagaimana pemeta memproses blok kedua (b2) menentukan bahwa catatan pertama tidak lengkap dan harus memproses mulai dari catatan kedua di blok (b2)?
LineReader.readLine
fungsi, saya tidak berpikir itu relevan dengan pertanyaan Anda tetapi dapat menambahkan lebih banyak detail jika diperlukan.