mapFile讀寫索引

5.4.2         mapFile

(1)定義html

MapFile即爲排序後的SequeneceFile,將sequenceFile文件按照鍵值進行排序,而且提供索引實現快速檢索。數組

(2)索引spa

索引取值是每隔128(默認128,可經過io.map.index.interval來修改)個鍵取一個鍵組成,將索引加載到內存,實現對mapfile文件的快速檢索。命令行

 

 

 

(3)讀寫htm

很是相似sequenceFile,只須要換成MapFile.Reader和MapFile.Writer就能夠了。執行文件寫操做的時候,該文件是不可讀取的。MapFile文件保證key-value的有序(基於key)是經過每一次寫入key-value時的檢查機制,這種檢查機制其實很簡單,就是保證當前正要寫入的key-value與上一個剛寫入的key-value符合設定的順序。不符合key的非遞減順序,會直接報錯,有序是按順序寫入,不是自動的去對輸入的key-value排序。blog

在命令行顯示mapFile的文件內容一樣要用  -text排序

(4)SequenceFile轉mapFile索引

mapFile既然是排序和索引後的SequenceFile那麼天然能夠把SequenceFile轉換爲MapFile使用mapFile.fix()方法把一個SequenceFile文件轉換成MapFile。內存

(5)mapFile的變種ci

SetFile

存儲writable的鍵

ArrayFile

鍵是整型,表示數組中的索引,值爲writable

BlooMapFile

使用動態布隆過濾器來檢測鍵是否在map中。

 

(6)面向列的存儲方式

按行存儲。順序文件、map文件和Avro數據文件都是面向行的存儲方式,即每一行的數據在存儲文件中是連續。

按列存儲。文件中的行被分割成行的分片,而後每一行的第一列在文件中連續存儲。

 

本身開發了一個股票智能分析軟件,功能很強大,須要的點擊下面的連接獲取:

http://www.javashuo.com/article/p-kahdodke-ge.html

相關文章
相關標籤/搜索