HBAse shellの一般的なコマンドと構文
HBase shell
1.Hbase shellコマンド$>hbase shell 2に進みます.「help」コマンド$>help 3を参照することを推奨します.shellコマンドcreateテーブル作成コマンド:hbase(main):021:0>create'customer','baseinfo','address'put挿入データ:構文:put't','r','c','v'(テーブル、行、列名、値)
scanスキャンテーブル:scan't't'
1 row(s)in 0.1030 seconds説明:現在表示されているのはレコードです.get取得命令:
1 row(s)in 0.1500 seconds delete削除記録命令:hbase(main):072:0>delete'customer','row-2','baseinfo:name'describe記述命令検索構造:hbase(main):084:0>desc'customer'
VERSIONバージョン、デフォルトバージョンは1で、timestampタイムスタンプで降順:バージョン番号の変更:hbase(main):086:0>alter'customer',{NAME=>'baseinfo',VERSIONS=>5}scan'テーブル名',{VERSIONS=>*}コマンドにより、現在のテーブルのデータバージョンを取得します.delete削除コマンドを実行する場合、ts(timestamp)タイムスタンプに従って削除操作を行う必要がある場合は、前のバージョンを一括して削除します.drop削除table命令:hbase(main):084:0>disable'tablename'//説明:table hbase(main):084:0>drop'tablename'//説明:table get_を削除table命令:tableを対応する変数値(tableインスタンス)にマッピングし、tableインスタンスによってテーブルを関連操作する
namespace名前空間は、従来のデータベースのテーブル空間に相当します.
balance負荷等化指令は、スイッチモードを使用する必要があり、原因負荷等化は比較的に資源を消費する.
4.テスト、Ruby構文を使用したデータの追加
5.merge合併--------------------------------------1.merge_regionマージコマンドhbase(main):010:0>merge_region '857d52f5591906576a85809db8522cbf','441d5e059755eae0f0b4582e915f6408' 2.move移動region指令:hbase(main):012:0>move'28157277880 b 3 d 345 f 1 a 8 a 65 c 84 cab 73'//ランダム指定regionserver hbase(main):012:0>move'28157277880 b 3 d 345 f 1 a 8 a 65 c 84 cab 73','slave 116020153313423796'//指定regionserver 3.プリセクション:事前にパーティションを指定する(rowkey設計が重要)コマンドは、hbase>create'ns 1:t 1','f 1',SPLITS=>['10','20','30','40']の説明です.ns 1ネーミングスペースの下で、t 1テーブルを作成し、クラスタをf 1にします.プリディビジョンは5個:[',10);[10,20);[20,30);[30,40);[40,']
1.Hbase shellコマンド$>hbase shell 2に進みます.「help」コマンド$>help 3を参照することを推奨します.shellコマンドcreateテーブル作成コマンド:hbase(main):021:0>create'customer','baseinfo','address'put挿入データ:構文:put't','r','c','v'(テーブル、行、列名、値)
hbase(main):021:0> put 'customer','row-1','baseinfo:name','zhangsan'
hbase(main):021:0> put 'customer','row-1','baseinfo:age',12
hbase(main):021:0> put 'customer','row-1','baseinfo:sex',' '
hbase(main):021:0> put 'customer','row-1','address:city',' '
scanスキャンテーブル:scan't't'
hbase(main):021:0> scan 'customer'
ROW COLUMN+CELL
row-1 column=address:city, timestamp=1533057164343, value=changchun
row-1 column=baseinfo:age, timestamp=1533057275350, value=23
row-1 column=baseinfo:name, timestamp=1533056802314, value=zhangsan
row-1 column=baseinfo:sex, timestamp=1533057120030, value=\xE7\x94\xB7\x0A
1 row(s)in 0.1030 seconds説明:現在表示されているのはレコードです.get取得命令:
hbase(main):021:0> get 'customer','row-1'
COLUMN CELL
address:city timestamp=1533057164343, value=changchun
baseinfo:age timestamp=1533057275350, value=23
baseinfo:name timestamp=1533056802314, value=zhangsan
baseinfo:sex timestamp=1533057120030, value=\xE7\x94\xB7\x0A
1 row(s)in 0.1500 seconds delete削除記録命令:hbase(main):072:0>delete'customer','row-2','baseinfo:name'describe記述命令検索構造:hbase(main):084:0>desc'customer'
Table customer is ENABLED
customer
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
{NAME => 'baseinfo', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
2 row(s) in 0.5850 seconds
VERSIONバージョン、デフォルトバージョンは1で、timestampタイムスタンプで降順:バージョン番号の変更:hbase(main):086:0>alter'customer',{NAME=>'baseinfo',VERSIONS=>5}scan'テーブル名',{VERSIONS=>*}コマンドにより、現在のテーブルのデータバージョンを取得します.delete削除コマンドを実行する場合、ts(timestamp)タイムスタンプに従って削除操作を行う必要がある場合は、前のバージョンを一括して削除します.drop削除table命令:hbase(main):084:0>disable'tablename'//説明:table hbase(main):084:0>drop'tablename'//説明:table get_を削除table命令:tableを対応する変数値(tableインスタンス)にマッピングし、tableインスタンスによってテーブルを関連操作する
hbase(main):117:0> t1 = get_table 'customer'
hbase(main):118:0> t1.scan
hbase(main):119:0> t1.put 'row-2','baseinfo:name','zhangsan'
hbase(main):120:0> t1.get 'row-2'
namespace名前空間は、従来のデータベースのテーブル空間に相当します.
hbase(main):003:0> create_namespace 'ns1',{'author'=>'zhangyuejiu','data'=>'2018-07-31'}
hbase(main):005:0> describe_namespace 'ns1'
DESCRIPTION
{NAME => 'ns1', author => 'zhangyuejiu', data => '2018-07-31'}
1 row(s) in 0.0620 seconds
balance負荷等化指令は、スイッチモードを使用する必要があり、原因負荷等化は比較的に資源を消費する.
hbase(main):005:0> balance_switch true //
hbase(main):005:0> balancer //
hbase(main):005:0> balance_switch false //
hbase(main):005:0> balancer "force" //
4.テスト、Ruby構文を使用したデータの追加
hbase(main):003:0> create_namespace 'ns1'
hbase(main):003:0> create 'ns1:student','info'
hbase(main):003:0> for i in 'a'..'z' do for j in 'a'..'z' do \
hbase(main):009:2* put 'ns1:student',"row-#{i}#{j}","info:#{j}","#{j}" end end
【 】
5.merge合併--------------------------------------1.merge_regionマージコマンドhbase(main):010:0>merge_region '857d52f5591906576a85809db8522cbf','441d5e059755eae0f0b4582e915f6408' 2.move移動region指令:hbase(main):012:0>move'28157277880 b 3 d 345 f 1 a 8 a 65 c 84 cab 73'//ランダム指定regionserver hbase(main):012:0>move'28157277880 b 3 d 345 f 1 a 8 a 65 c 84 cab 73','slave 116020153313423796'//指定regionserver 3.プリセクション:事前にパーティションを指定する(rowkey設計が重要)コマンドは、hbase>create'ns 1:t 1','f 1',SPLITS=>['10','20','30','40']の説明です.ns 1ネーミングスペースの下で、t 1テーブルを作成し、クラスタをf 1にします.プリディビジョンは5個:[',10);[10,20);[20,30);[30,40);[40,']