Hadoop中有多少种类型的InputFormat?

时间:2015-12-08 03:46:35

标签: hadoop

我是Hadoop的新用户,想知道InputFormatHadoop有多少种TextInputFormat,例如InputFormat?是否有某些rand.nextInt(<MAX_TO_GENERATE>) + <MIN_TO_GENERATE>;可用于通过http请求将文件读取到远程数据服务器?

谢谢:)

2 个答案:

答案 0 :(得分:6)

有很多classes正在实施InputFormat

CombineFileInputFormat, CombineSequenceFileInputFormat, 
CombineTextInputFormat, CompositeInputFormat, DBInputFormat,
FileInputFormat, FixedLengthInputFormat, KeyValueTextInputFormat, 
MultiFileInputFormat, NLineInputFormat, Parser.Node, 
SequenceFileAsBinaryInputFormat, SequenceFileAsTextInputFormat, 
SequenceFileInputFilter, SequenceFileInputFormat, TextInputFormat

关于何时使用哪种类型的Inputformat,请查看此article

其中,最常用的formats是:

  • FileInputFormat:所有基于文件的InputFormats的基类
  • KeyValueTextInputFormat:纯文本文件的InputFormat。文件分为几行。换行或回车用于发出行尾信号。每行由分隔符字节分为键和值部分。如果不存在这样的字节,则键将是整行,值将为空。
  • TextInputFormat:纯文本文件的InputFormat。文件分为几行。换行或回车用于发出行尾信号。键是文件中的位置,值是文本行..
  • NLineInputFormat:NLineInputFormat将N行输入拆分为一个拆分。在许多人中,愉快地&#34;并行应用程序,每个进程/映射器处理相同的输入文件,但计算由不同的参数控制。
  • SequenceFileInputFormat:SequenceFiles的输入格式。

关于第二个查询,首先从远程servers获取文件,并根据文件中的内容使用适当的InputFileFormatHadoop最适合数据位置。

答案 1 :(得分:3)

您的第一个问题 - Hadoop中有多少种类型的InputFormat,例如TextInputFormat?

  1. TextInputFormat - 每一行都将被视为值
  2. KeyValueTextInputFormat - 分隔符前的第一个值是键,其余值是值
  3. FixedLengthInputFormat - 每个固定长度值都被视为值
  4. NLineInputFormat - N行数被视为一个值/记录
  5. SequenceFileInputFormat - 二进制文件
  6. 还有DBInputFormat从数据库中读取

    你的第二个问题 - 没有输入格式来通过http请求读取文件。