Text
Text的長度定義爲UTF-8編碼的字節數。
Hadoop定義了兩種數據類型以適應MapReduce變成框架的需要。這兩種類型非常重要,其中map輸出的中間結果就是由它們表示的。它們指的是SequenceFile和MapFile。其中,MapFile是經過排序並帶有索引的SequenceFile類。
SequenceFile記錄的是key/value對的列表,是序列化之後的二進制文件,因此是不能直接查看的,可以通過以下命令查看:
hadoop fs -text [你的SequenceFile文件]
Sequence有三種不同類型的結構:
記錄壓縮的key/value對 (只有value被壓縮)
block壓縮的key/value對(key和value被分別記錄到塊中,並壓縮)。
HDFS
在Hadoop中有一個綜合性的文件系統抽象,它提供了文件系統事項實現的各類接口,HDFS只是這個抽象文件系統的一個實例。
HDFS侷限:
1、不適合低延遲的數據訪問
2、無法高效存儲大量小文件
3、不支持多用戶寫入,只能在文件末尾追加內容
HDFS概念:
1、塊(block)
操作系統中都有一個塊的概念,文件以塊的形式存儲在磁盤中,此處塊的大小指系統讀取/寫入可操作的最小文件的大小,即文件系統一次只能操作磁盤塊整數倍大小的文件。
HDFS中的塊是一個抽象概念,它比操作系統中所說的塊要大得多。默認大小是64M。
HDFS分佈式文件系統中的文件也被分成塊進行存儲,它是文件存儲處理的邏輯單元。