有人可以给我一个实际的场景,其中我们必须使用KeyValueTextInputFormat
和TextInputFormat
吗?
最佳答案
TextInputFormat
类将源文件的每一行转换为键/值类型,其中BytesWritable键代表记录的偏移量,而Text值代表整个记录本身。KeyValueTextInputFormat
是TextInputFormat的扩展版本,当我们必须将每个源记录作为文本/文本对获取时,此记录很有用,在该记录中,通过使用固定的定界符分割记录来从记录中填充键/值。
考虑以下文件内容,
AL#Alabama
AR#Arkansas
FL#Florida
如果配置了
TextInputFormat
,您可能会看到以下键/值对,0 AL#Alabama
14 AR#Arkansas
23 FL#Florida
如果
KeyvalueTextInputFormat
配置了conf.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", "#")
,则结果可能如下所示:AL Alabama
AR Arkansas
FL Florida
关于hadoop - hadoop中的KeyValueTextInputFormat和TextInputFormat之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29903987/