Hadoop可以读取多个文件的内容。在Hadoop中,可以使用输入格式(InputFormat)来指定如何读取文件。常见的输入格式包括TextInputFormat、KeyValueTextInputFormat、SequenceFileInputFormat等。
TextInputFormat是Hadoop默认的输入格式,它按行读取文本文件,每行记录。KeyValueTextInputFormat是一种将每行分割为键值对的输入格式,其中键和值之间使用制表符或空格分隔。SequenceFileInputFormat用于读取Hadoop的序列文件,序列文件是一种将键值对序列化后存储的文件格式。
使用Hadoop读取多个文件时,可以通过指定输入路径来读取多个文件。输入路径可以是一个文件或者一个目录。如果输入路径是一个目录,Hadoop将读取该目录下的所有文件。可以使用通配符来指定多个文件,例如input/*
表示读取input
目录下的所有文件。
需要注意的是,Hadoop在读取多个文件时,会将文件分割为若干个输入切片(InputSplit),每个输入切片对应一个Map任务。因此,即使读取多个文件,每个文件还是会被分成多个输入切片进行处理。