我想弄清楚哪个答案最适合这个问题:
给定具有以下结构的文件目录:行号, 制表符,字符串:
1abialkjfjkaoasdfjksdlkjhqweroij
2kadfjhuwqounahagtnbvaswslmnbfgy
3kjfteiomndscxeqalkzhtopedkfsikj
您希望将每一行作为一条记录发送到Mapper。哪一个 您应该使用InputFormat来完成该行:conf.setInputFormat (____。班); ?
一个。 SequenceFileAsTextInputFormat
B中。 SequenceFileInputFormat
℃。 KeyValueFileInputFormat
d。 BDBInputFormat
我的分析:
选项A 是我发现存在的格式,但我不确定它的正确用法以及是否适合作为答案。
选项B 是不可能的,因为SequenceFiles是二进制数据(K,V)对的二进制数据文件,因此不适合..
选项C 是不可能的,因为没有KeyValueFileInputFormat,虽然在这里,如果它是一个拼写错误,它实际上是KeyValuetextInputFormat,我认为这将是一个不错的选择。或者不是吗?
选项D 是不可能的,因为没有BDBInputFormat,即使它是一个拼写错误,它实际上是BDInputFormat而不是它不适合这种情况。
谢谢! d
答案 0 :(得分:1)
如您猜测的那样,它可能是选项C中的拼写错误,它应该是https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/KeyValueTextInputFormat.html。
有关详情,请参阅:How to specify KeyValueTextInputFormat Separator in Hadoop-.20 api?
答案 1 :(得分:1)
答案是选项C 。这可能是一个错字
KeyValueTextInputFormat
可帮助您通过TAB分割线条。
因此,行号将是键,字符串将是值。