本文共 3902 字,大约阅读时间需要 13 分钟。
1、进入hbase命令行
在集群中任意一台服务器节点上,执行hbase shell,就会进入到你的hbase shell 客户端
1.1、help获得帮助
1)、help:获得所有命令
2)、help "dml":获得一组命令的提示
3)、help "put":获取一个单独命令的提示
1.2、exit退出
2、hbase表的操作
2.1、创建表create
输入如下命令进行查看帮助命令:help 'create'
hbase(main):001:0> help 'create'Creates a table. Pass a table name, and a set of column familyspecifications (at least one), and, optionally, table configuration.Column specification can be a simple string (name), or a dictionary(dictionaries are described below in main help output), necessarily including NAME attribute. Examples:Create a table with namespace=ns1 and table qualifier=t1 hbase> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}Create a table with namespace=default and table qualifier=t1 hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'} hbase> # The above in shorthand would be the following: hbase> create 't1', 'f1', 'f2', 'f3' hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true} hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}} Table configuration options can be put at the end.Examples: hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40'] hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40'] hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe' hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' } hbase> # Optionally pre-split the table into NUMREGIONS, using hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname) hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'} hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', REGION_REPLICATION => 2, CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}} hbase> create 't1', {NAME => 'f1', DFS_REPLICATION => 1}You can also keep around a reference to the created table: hbase> t1 = create 't1', 'f1'Which gives you a reference to the table named 't1', on which you can thencall methods.hbase(main):002:0>
其中看到其中一条提示:
hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
其中t1是表名称,f1,f2,f3是列簇的名称。
示例如下:
创建一个名为myHbase的表,表里面有1个列簇名为myName
2.2、查看表列表list
list查看,只有1条结果,就是上例中创建的myHbase表
2.3、查看表的详细信息desc
2.4、修改表的定义alter
2.4.1、添加一个列簇
添加成功后,通过desc 'myHbase'查看新增的列簇
2.4.2、删除一个列簇
删除后,再次查看,结果如下:
也可以使用如下方式删除
注意:hbase表中必须有一个列簇,如果有且只有1个列簇就不能删除
2.4.3、添加列簇myStudent同时删除列簇myInfo
2.4.4、清空表truncate
2.4.5、删除表drop
注:直接删除表会报错,根据提示需要先停用表
先停用、再删除,然后list查看表是否存在
3、hbase表中数据的操作
关于数据的操作(增put、删delete、查get+scan,改)
3.1、创建user表,表包含username,address这两个列簇
列簇username保留3个版本,列簇address保留1个版本
3.2、向表user中新增数据
1)、help 'put'查看帮助如下
2)、创建表user,列簇为base_info,保留3个版本,如下:
3)、向user表中插入数据,row key为rowkey_10,列簇base_info中添加username列标示符,值为张三
put 'user', 'rowkey_10', 'base_info:username', '张三'put 'user', 'rowkey_10', 'base_info:birthday', '2014-07-10'put 'user','rowkey_10','base_info:sex','1'put 'user','rowkey_10','base_info:address','北京市'put 'user','rowkey_16','base_info:username','张小明'put 'user','rowkey_16','base_info:birthday','2014-07-10'put 'user','rowkey_16','base_info:sex','1'put 'user','rowkey_16','base_info:address','北京'put 'user','rowkey_22','base_info:username','陈小明'put 'user','rowkey_22','base_info:birthday','2014-07-10'put 'user','rowkey_22','base_info:sex','1'put 'user','rowkey_22','base_info:address','上海'put 'user','rowkey_24','base_info:username','张三丰'put 'user','rowkey_24','base_info:birthday','2014-07-10'put 'user','rowkey_24','base_info:sex','1'put 'user','rowkey_24','base_info:address','河南'put 'user','rowkey_25','base_info:username','陈大明'put 'user','rowkey_25','base_info:birthday','2014-07-10'put 'user','rowkey_25','base_info:sex','1'put 'user','rowkey_25','base_info:address','西安
3.3、查询user表中的数据 scan 'user',显示内容如下:
查询user表中rowKey为rowkey_24的所有信息
查询user表中rowKey为rowkey_25,base_info列簇的所有信息
3.4、删除user表rowKey为rowkey_1,列标示符为base_info:birthday的数据
删除后,再次查看
转载地址:http://oluii.baihongyu.com/