这个问题我已经讲过了。谁能给出正确的答案并加以解释?
哪一个最好地描述了TextInputFormat如何处理输入文件和换行符?
。输入文件分割可能跨越换行符。跨越文件分割的行由RecordReader读取分隔符
B。输入文件分割可能跨越换行符。跨文件分隔的行由包含折线的两段的recordreader。
C。输入文件精确地在换行符处分割,因此每个RecordReader将读取一系列完成线。
D。输入文件分割可能跨越换行符。与文件分隔的行被忽略。
E。输入文件分割可能跨越换行符。跨越文件分割的行由RecordReader读取包含换行结束符的分隔符。
Thanks in advance
Linerecordreader读取map调用的值,直到遇到新行(或指定的不同分隔符),使用下面的textinputformat类型调用。因此,很明显,一条记录在遇到新行之前永远不会结束。
newSize = in.readLine(value, maxLineLength, Math.max((int)Math.min(Integer.MAX_VALUE, end-pos),maxLineLength));
所以选项A有效。
输入文件分割可能会交叉换行。跨文件分割的行由分割的RecordReader读取,该分割包含分隔行开头。