HBase常用操作

1.创建表

create 'test','cf1','cf2'
备注:1.test表示表名;2.cf1和cf2表示列簇名,根据实际情况增加

2.查看有哪些表

list
备注:类似mysql的show tables;

3.查看表结构

describe 'test'
备注:类似mysql的desc

4.添加数据

给test表的cf1:name列插入数据
put 'test','rowkey_001','cf1:name','zhangsan'

给test表的cf1:address列插入数据
put 'test','rowkey_001','cf1:address','beijing'

给test表的cf2:name列插入数据
put 'test','rowkey_002','cf2:name','lisi'

给test表的cf2:address列插入数据
put 'test','rowkey_002','cf2:address','xian'

备注:
1.rowkey_001和rowkey_002表示rowkey,必须保证唯一,插入数据时指定,建议不同列簇的数据使用不同rowkey;

5.查询数据

a.全表扫描

scan 'test'

b.根据条件进行查询

scan 'test',{COLUMNS => [cf1,cf2],LIMIT => 10,STARTROW => 'rowkey_002'}

备注:1.COLUMNS表示要扫描的列簇;2.LIMIT表示显示前10个rowkey对应的数据;3.STARTROW表示起始rowkey位置

c.根据rowkey查看对应的数据

get 'test','rowkey_001'

6.创建表指定预分区

说明:1.默认创建表为快速建表,创建完成后只有一个region,随着数量增大会自动分裂成多个region,但是前期数据写入和读取性能较低;2.强烈建议建表时预分区,这样在初期数据的写入速度会高很多。

方法一:直接指定(适合分区较少时使用)

create 'test','cf',SPLITS => ['10','20','30','40','50']

方法二:读取文件方式
create 'test',{NAME => 'cf',COMPRESSION => 'SNAPPY',DATA_BLOCK_ENCODING => 'FAST_DIFF',BLOCKSIZE => '32768',MOB_THRESHOLD => '102400',IS_MOB => 'true'},{SPLITS_FILE => '/opt/region.txt'}

或

create 'test',{NAME => 'cf',TTL => 'forever'},SPLITS => '/opt/region.txt'

备注:
1.NAME表示列簇名;
2.COMPRESSION表示压缩格式;
3.IS_MOB是MOB表的开关,如果要创建MOB,就设置为true,否则为false;
4.SPLITS_FLIE表示预先分区(建议进行预分区,避免热点问题,查询性能较高),region.txt表示提前准备好的rowkey分区文本。
类似(region.txt中每个rowkey名只能占一行):
rowkey001
rowkey002

方法三:代码实现

创建一个预分region的表

byte[][] splits = new byte[4][];

splits[0] = Bytes.toBytes("A");

splits[1] = Bytes.toBytes("H");

splits[2] = Bytes.toBytes("O");

splits[3] = Bytes.toBytes("U");

admin.createTable(htd,splits);

7.清空表数据

truncate_preserve  'test'

8.刷新表数据(将表中数据刷入磁盘)

flush  'test'

9.删除表

disable  'test'

drop 'test'

10.导入导出表数据

  • 导入

    hbase  org.appche.hadoop.hbase.mapreduce.import   <tablename>   <outdir>

    或

    hbase  org.appche.hadoop.hbase.mapreduce.Driver  import  <tablename>   <outdir>

  •  导出

    hbase  org.appche.hadoop.hbase.mapreduce.export   <tablename>   <outdir>

    或

    hbase  org.appche.hadoop.hbase.mapreduce.Driver export   <tablename>   <outdir>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值