HBase shell命令

基礎(chǔ)操作

#create table
create 'tableName',{NAME=>'f'}
#scan a table
scan 'my_test',{COLUMNS => ['f1:a1','f1:b1']}
#get line data by rowkey
get 'tablename','rowkey'
#delete table
disable 'tableName'
drop 'tableName'

預(yù)分區(qū)

UniformSplit

占用空間小,rowkey前綴完全隨機(jī)。將可能的鍵的空間平均分割的聚合體。當(dāng)鍵是近似一致的隨機(jī)字節(jié)時(shí)(例如散列),建議使用這個(gè)。行是范圍為 00 => FF 的原始字節(jié)值,用0右填充以保持相同的 memcmp()順序。對(duì)于
byte[]環(huán)境來(lái)說(shuō),這是一種自然的算法,可以節(jié)省空間,但是對(duì)于可讀性來(lái)說(shuō),它并不一定是最簡(jiǎn)單的。

HexStringSplit

占用空間大,rowkey是十六進(jìn)制的字符串作為前綴的。HexStringSplit 是一個(gè)典型的 RegionSplitter.SplitAlgorithm來(lái)選擇 region 邊界。HexStringSplit region 邊界的格式是MD5校驗(yàn)和或任何其他均勻分布的十六進(jìn)制值的ASCII表示形式。Row是十六進(jìn)制編碼的長(zhǎng)值,其范圍為“00000000”=>“FFFFFFFF”,并左填充0,以使其在字典上保持與二進(jìn)制相同的順序。由于這種分割算法使用十六進(jìn)制字符串作為鍵,所以在 shell 中方便讀寫,但是占用更多的空間,而且可能不夠直觀。

DecimalStringSplit

rowkey是10進(jìn)制數(shù)字字符串作為前綴的

# 基于隨機(jī)算法創(chuàng)建一個(gè)有4默認(rèn)個(gè)分區(qū)的表
hbase>create 't2','f1', { NUMREGIONS => 4 , SPLITALGO => 'UniformSplit' }
 
# 基于 hex keys 創(chuàng)建一個(gè)有5個(gè)默認(rèn)分區(qū)的表
hbase>create 'table_name','f1', { NUMREGIONS => 500, SPLITALGO => 'HexStringSplit' }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容