输入格式决策

时间:2015-01-13 19:52:03

标签: hadoop mapreduce

我想弄清楚哪个答案最适合这个问题:

  

给定具有以下结构的文件目录:行号,   制表符,字符串:

     

Example

     

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

2 个答案:

答案 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分割线条。 因此,行号将是键,字符串将是值。