hbase(3)---shell操作

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 family
specifications (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 then
call 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的数据

删除后,再次查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值