2011-11-29 67 views
0

我有一些關於hadoop序列文件的基本問題。Hadoop序列文件中的壓縮

1)默認壓縮編解碼器壓縮文件的程度如何?

2)我有100 MB的hadoop的序列文件,當我讀到這個文件,並拋售其內容以文本文件的文本文件大小我觀察到的是1GB左右(可以嗎?)

3)在閱讀序列文件是什麼意思「syncSeen()」和 「seek(long position)」?如果我在閱讀時不使用這些電話,是否有任何問題? 任何關於如何使用這些方法的例子?

回答

0

SequenceFile.Reader#seek將讀取器定位在SequenceFile中的給定點。

按照Hadoop:The Definitive Guide

的同步點是,可以使用具有一個記錄邊界來重新同步,如果該閱讀器「丟失」 - 例如,尋求到任意的位置之後的流中的點在流中。同步點由SequenceFile.Writer記錄,該序列插入一個特殊條目,以便在序列文件正在寫入時爲每個記錄標記同步點。這些條目足夠小,只會產生適度的存儲開銷 - 小於1%。同步點始終與記錄邊界對齊。

SequenceFile.Reader#syncseen會告訴讀取SequenceFile時是否傳遞了同步標記。

+0

閱讀hadoop序列文件時是否需要使用syncseen?如果我們不使用它,我們可能會遇到什麼問題? – samarth

+0

我很好奇記錄如何對齊以阻止邊界,這對我來說是最重要的。有沒有一種機制可以確保這一點? –