我来自Mainframes背景,试图了解Hadoop中的不同输入格式。谁能解释以下三种输入格式:

– TextInputFormat
-KeyValueInputFormat
-SequenceFileInputFormat

最佳答案

TextInputFormat:它将读取文本文件的行,并将行的偏移量作为Mapper的键提供,而将实际行作为Value提供给Mapper。

TextInputFormat用作纯文本文件的InputFormat。文件分为几行。换行或回车符都用来表示行结束。键是文件中的位置,值是文本行。

KeyValueTextInputFormat(旧KeyValueInputFormat):此格式还将输入的每一行都视为单独的记录。直到第一个制表符为止的所有内容都作为键发送到映射器,其余的行作为值发送到映射器。

虽然TextInputFormat将整行视为值,但KeyValueInputFormat通过搜索制表符将行本身分为键和值。

SequenceFileInputFormat:读取特定于Hadoop的特殊二进制文件。这些文件包括许多旨在允许将数据快速读取到Hadoop映射器中的功能。

序列文件经过块压缩,可以直接序列化和反序列化几种任意数据类型(不只是文本)。序列文件可以作为其他MapReduce任务的输出生成,并且是从一个MapReduce作业传递到花药的数据的有效中间表示。

关于hadoop - 了解Hadoop中的TextInputFormat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33658237/

10-15 22:28