高階column family 配置

2021-06-20 10:34:09 字數 2343 閱讀 9670

hfile檔案塊大小能夠通過column family級別進行配置,這個塊與我們所熟知的hdfs塊是不同的。hfile塊的預設大小是64kb,並且快索引儲存著每個hfile檔案的開始關鍵字。配置塊檔案的大小將影響到塊索引檔案的大小。塊越小,索引檔案就越大,因此會產生更大的記憶體消耗。

初始化hfile塊大小命令:

[plain]view plain

copy

print

?hbase(main):002:0>create 'mytable',    

經常會出現這種情況,花費一定工作量將資料放到快取中,結果沒有得到任何好處。比如,序列地掃瞄乙個能夠訪問或者不是經常訪問的表或者這個表的column family時,你不會關心是否get或者scan會花費稍微長的時間來做這個事。這種情況下,你可以在column family級別上選擇關閉塊快取。再假如你需要做許多的序列掃瞄,你會製造出許多快取和破壞原本可以通過塊快取獲得好處的資料。這樣的話,關閉塊快取可以避免上述情況的發生,也為其它表或者表column family讓出有效快取空間。

預設情況下,塊快取是開啟的,關閉指令碼如下所示:

[plain]view plain

copy

print

?hbase(main):002:0>create 'mytable',    

在塊快取中,你可以選擇設定column family塊快取有更高的優先順序(lrc 快取)。預設情況下,設定變數in_memory的值是false。即使你設定了為true,在實際的應用中可以不回奏效,其原因是因為它不能夠保證hbase將這個塊快取中的column family比其它的columnfamily表現更加積極。

[plain]view plain

copy

print

?hbase(main):002:0> create 'mytable',    

blooom過濾器能夠使你對每個儲存在塊中的資料應用乙個負向的測試。當對乙個特殊行發出請求時,bloom過濾器檢測著檢視是否這個塊中有這一行記錄。

bloom過濾器作出結論地說,沒有這樣的行記錄或者說它不知道。那就是乙個為什麼我們說它是乙個負向測試的原因。bloom過濾器也能夠應用到乙個行記錄的單元記錄中。當訪問乙個具體的列修飾符(column qualifier)時,相同的負向測試會實施。

bloom過濾器需要儲存這個額外的索引層而花費更多的儲存空間。bloom過濾會隨著它們建立索引的大小而不斷增長,這就是乙個行級別的bloom過濾器。

它比乙個修飾符級別的bloom過濾器所佔的空間要少一些。當儲存空間不是問題,你可以開啟column family上的bloom過濾器。命令如下:

[plain]view plain

copy

print

?hbase(main):007:0>create 'mytable',    

預設情況下,bloom過濾器引數是none,乙個行級別bloom過濾器是使用row裡開啟的,而修飾符級別(qualifier-level)的bloom過濾器則是使用rowcol。

rowcol級別的儲存空間要不row級別的bloom過濾器要高很多。

列家族(columnfamilies )能夠以秒鐘來設定存在的時間,hbase能夠制動地刪除這些已經到期的行記錄。這個功能能夠應用到乙個行記錄的所有版本上,甚至是當前這個版本。行記錄的ttl編碼是以一種指定的utc。預設的情況下,ttl的時間設定是int.max_value(2147483647),你可以按照你的需求來設定這個引數值。

[plain]view plain

copy

print

?hbase(main):002:0> create 'mytable',  

這個設定意味著,資料在colfaml的時間超過5小時會在接下來的主要壓縮過程中被刪除掉。

hfile能夠被壓縮儲存在hdfs檔案系統中。當讀寫資料時,這個能夠幫助節省磁碟的i/o,避免花費更高的cup消耗來壓縮和解壓縮資料。壓縮作為表結構定義的一部分。在你知道壓縮不能夠給你帶來什麼效能上的好處時,你可以關閉這個壓縮功能。

[plain]view plain

copy

print

?hbase(main):002:0> create 'mytable',  

預設情況下,hbase維持每個單元格有三個版本,這個屬性是可以配置的。修改命令如下:

[plain]view plain

copy

print

?hbase(main):002:0> create 'mytable',   

高階column family 配置

hfile檔案塊大小能夠通過column family級別進行配置,這個塊與我們所熟知的hdfs塊是不同的。hfile塊的預設大小是64kb,並且快索引儲存著每個hfile檔案的開始關鍵字。配置塊檔案的大小將影響到塊索引檔案的大小。塊越小,索引檔案就越大,因此會產生更大的記憶體消耗。初始化hfile...

藍芽mesh組網實踐(配網高階篇)

之前介紹了ch582微控制器在藍芽mesh組網中的兩種配網方式,有介紹到 未配網裝置不能選擇被哪個配網器配網,配網器可以選擇給哪個未配網裝置配網。接下來介紹在 可以有選擇配網。ble中有相對完善的黑白名單機制,可惜藍芽mesh並沒有沿用或是發展黑白名單,只能在收到配網信標時,由使用者來判斷是否給裝置...

UNIX環境高階程式設計》apue h標頭檔案的配置

初學 unix環境高階程式設計 的朋友都會遇到乙個問題,執行裡面的例項 download 時就出現問題,提示 錯誤 apue.h 沒有那個檔案或目錄 apue.h是作者自定義的乙個標頭檔案,包括程式所需的常用標頭檔案及出錯處理函式。所以因該將它放入系統標頭檔案中 linux下是 usr includ...