Hadoop可以讀取多個文件的內容。在Hadoop中,可以使用輸入格式(InputFormat)來指定如何讀取文件。常見的輸入格式包括TextInputFormat、KeyValueTextInputFormat、SequenceFileInputFormat等。
TextInputFormat是Hadoop默認的輸入格式,它按行讀取文本文件,每行記錄。KeyValueTextInputFormat是一種將每行分割為鍵值對的輸入格式,其中鍵和值之間使用制表符或空格分隔。SequenceFileInputFormat用于讀取Hadoop的序列文件,序列文件是一種將鍵值對序列化后存儲的文件格式。
使用Hadoop讀取多個文件時,可以通過指定輸入路徑來讀取多個文件。輸入路徑可以是一個文件或者一個目錄。如果輸入路徑是一個目錄,Hadoop將讀取該目錄下的所有文件。可以使用通配符來指定多個文件,例如input/*
表示讀取input
目錄下的所有文件。
需要注意的是,Hadoop在讀取多個文件時,會將文件分割為若干個輸入切片(InputSplit),每個輸入切片對應一個Map任務。因此,即使讀取多個文件,每個文件還是會被分成多個輸入切片進行處理。