Secondo il Hadoop - The Definitive Guide
I record logici definiti da FileInputFormats di solito non si adattano perfettamente ai blocchi HDFS. Ad esempio, i record logici di un TextInputFormat sono linee, che superano i confini di HDFS il più delle volte. Ciò non ha alcuna relazione con il funzionamento del tuo programma, ad esempio le linee non vengono perse o interrotte, ma vale la pena conoscerlo, poiché significa che le mappe locali di dati (cioè le mappe che sono in esecuzione sullo stesso host del loro dati di input) eseguirà alcune letture remote. Il leggero sovraccarico che ciò causa normalmente non è significativo.
Supponiamo che una riga di record sia divisa in due blocchi (b1 e b2). Il mappatore che elabora il primo blocco (b1) noterà che l'ultima riga non ha un separatore EOL e preleva il resto della riga dal successivo blocco di dati (b2).
In che modo il mappatore che elabora il secondo blocco (b2) determina che il primo record è incompleto e deve essere elaborato a partire dal secondo record nel blocco (b2)?
LineReader.readLine
funzione, non penso sia rilevante per la tua domanda ma posso aggiungere ulteriori dettagli se necessario.