Hbase 高階shell的使用

2021-09-29 05:36:59 字數 1356 閱讀 8379

1、 bloomfilter

是否使用布隆過慮及使用何種方式,布隆過濾可以每列族單獨啟用

使用 hcolumndescriptor.setbloomfiltertype(none | row | rowcol) 對列族單獨啟用布隆

使用方法:

create

'table'

,

作用:用布隆過濾可以節省讀磁碟過程,可以有助於降低讀取延遲

2、 versions

預設是 1 這個引數的意思是資料保留 1 個 版本,如果我們認為我們的資料沒有這麼大 的必要保留這麼多,隨時都在更新,而老版本的資料對我們毫無價值,那將此引數設為 1 能 節約 2/3 的空間

使用方法:

create

'table'

,

附:min_versions => '0』是說在 compact 操作執行之後,至少要保留的版本

3、 compression

預設值是 none 即不使用壓縮,這個引數意思是該列族是否採用壓縮,採用什麼壓縮算

法,使用方法:

create

'table',;

admin.

createtable

(htd, splits);或者

admin.

createtable

(htd,startkey,endkey,splitnum)

;admin.

createtable

(htd, splits)

;

ui上檢視結果

這樣就可以將表預先分為 4個區,減少資料達到 storefile 大小的時候自動分割槽的時間 消耗,並且還有以乙個優勢,就是合理設計 rowkey 能讓各個 region 的併發請求平均分配(趨 於均勻) 使 io 效率達到最高,但是預分割槽需要將 filesize 設定乙個較大的值,設定引數 hbase.hregion.max.filesize 這個值預設是 10g 也就是說單個 region 預設大小是 10g

這個引數的預設值在 0.90 到 0.92 到 0.94.3 各版本的變化:256m–1g–10g

但是如果 mapreduce input 型別為 tableinputformat 使用 hbase 作為輸入的時候,就要注意 了,每個 region 乙個 map,如果資料小於 10g 那只會啟用乙個 map 造成很大的資源浪費, 這時候可以考慮適當調小該引數的值,或者採用預分配 region 的方式,並將檢測如果達到 這個值,再手動分配 region

HBase的高階shell管理命令

例如 顯示伺服器狀態 hbase main 058 0 status node01 顯示hbase當前使用者,例如 hbase whoami顯示當前所有的表 統計指定表的記錄數,例如 hbase count user 展示表結構資訊 檢查表是否存在,適用於表量特別多的情況 檢查表是否啟用或禁用 該命...

HBase的高階shell管理命令

例如 顯示伺服器狀態 hbase main 058 0 status node01 顯示hbase當前使用者,例如 hbase whoami 顯示當前所有的表 統計指定表的記錄數,例如 hbase count user 展示表結構資訊 檢查表是否存在,適用於表量特別多的情況 檢查表是否啟用或禁用 該...

Hbase之shell命令的使用

ddl 資料定義語言 名稱描述 表示式list 列出存在哪些表 list desc describe 表描述資訊 desc tablename create 建立表 cf表示列族 create tablename cf1 cf2 cf3 alter 新增列族 alter tablename cf4 ...