目录
描述: TextInputFormat 是 Hadoop 中使用最广泛的输入格式之一,适用于纯文本文件。它将文件按行划分,把每一行的起始偏移量作为键(key),整行的文本作为值(value)。
工作机制:
TextInputFormat 用于读取文件时,它会将文件分割成一个个的分片(splits),分片的大小可以根据 Hadoop 的配置来设置。TextInputFormat 会处理这种边界情况,确保这一行数据被完整地读取。使用场景:
TextInputFormat 来统计文件中每个单词的出现次数。描述: SequenceFileInputFormat 是用于读取序列文件(SequenceFile)的输入格式。序列文件是一种平面文件(flat file)存储格式,由 Hadoop 提供,用于存储键值对。
工作机制:
SequenceFileInputFormat 会读取序列文件并生成分片,每个分片包含一系列的键值对。SequenceFileInputFormat 可以快速找到分片的起始点,即使它们在文件的中间。使用场景:
SequenceFileInputFormat 可以高效地将这些数据写入 HDFS,供后续作业读取。 TextInputFormat 和 SequenceFileInputFormat 是 Hadoop 中常见的两种输入格式,分别适用于处理文本数据和二进制数据。它们都能够处理大文件的分片,并且保证数据的完整性。在 MapReduce 编程模型中,选择合适的输入格式对于作业的性能和可靠性至关重要。