我是Hadoop
的新用户,想知道InputFormat
中Hadoop
有多少种TextInputFormat
,例如InputFormat
?是否有某些rand.nextInt(<MAX_TO_GENERATE>) + <MIN_TO_GENERATE>;
可用于通过http请求将文件读取到远程数据服务器?
谢谢:)
答案 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
获取文件,并根据文件中的内容使用适当的InputFileFormat
。 Hadoop
最适合数据位置。
答案 1 :(得分:3)
您的第一个问题 - Hadoop中有多少种类型的InputFormat,例如TextInputFormat?
TextInputFormat
- 每一行都将被视为值KeyValueTextInputFormat
- 分隔符前的第一个值是键,其余值是值FixedLengthInputFormat
- 每个固定长度值都被视为值NLineInputFormat
- N行数被视为一个值/记录SequenceFileInputFormat
- 二进制文件还有DBInputFormat
从数据库中读取
你的第二个问题 - 没有输入格式来通过http请求读取文件。