我已经解决了这个问题。任何人都可以给出正确的答案并给出解释吗?
哪个最能描述TextInputFormat如何处理输入文件和换行符?
答:输入文件拆分可能会跨越换行符。穿过文件拆分的行由RecordReader读取
包含虚线起点的分割线。
B.输入文件拆分可能会跨越换行符。穿过文件拆分的行由
两个拆分的RecordReaders都包含虚线。
C.输入文件将在换行符处精确分割,因此每个RecordReader都会读取一系列
完整的线条。
D.输入文件拆分可能会跨越换行符。跨越文件拆分的行将被忽略。
E.输入文件分割可能会跨越换行符。穿过文件拆分的行由RecordReader读取
包含虚线末尾的拆分的部分。
提前致谢
最佳答案
Linerecordreader会在下面的textinputformat类型调用的帮助下读取 map 调用的值,直到遇到新行(或指定的分隔符)为止。因此,很明显,一条记录只有在遇到新的一行时才会结束。
newSize = in.readLine(value, maxLineLength, Math.max((int)Math.min(Integer.MAX_VALUE, end-pos),maxLineLength));
因此,选项A保持良好状态。
输入文件拆分可能会跨越换行符。穿过文件拆分的行由包含虚线开头的拆分的RecordReader读取。