hbase之shell操作(DML)

一、简介

Group name: dml

Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve

二、添加数据

行键   列族:列  值

hbase> put 'namespace:表名', '行键', '列族:列', '列的值',[ts1(时间戳 不给默认系统时间戳)]

put "bdtest:test2","rk001","info1:name","zs"

put "bdtest:test2","rk001","info1:age","18"

put "bdtest:test2","rk001","info1:addr","hebei"

三、删除数据

hbase> delete 'namespace:表名', '行键', '列族:列', 时间戳

base_info:age timestamp=1558847233830, value=25

delete "user_info","zhangsan_20150701_0004","base_info:age",

四、清空表数据

truncate "namespace:表名"

is_disabled "user_info"

1、- Disabling table...  禁用表

2、- Truncating table...  清空表

3、启用表

五、扫描查询表数据(scan)

1、全表扫描

      表下的所有列族的所有列全部显示

scan "namespace:表名"

      scan "user_info"

2、指定列显示

scan "namespace:表名",{COLUMNS => '列族:列名'}

      scan "namespace:表名",{COLUMNS => ['列族:列名',"列族:列名"]}

      scan "user_info",{COLUMNS => "base_info:age"}

      scan "user_info",{COLUMNS => ["base_info:name","base_info:age"]}

3、指定显示行数LIMIT

scan "namespace:表名",{COLUMNS => ['列族:列名',"列族:列名"],LIMIT => 需要显示的行数}

      scan "user_info",{COLUMNS => "base_info:age",LIMIT => 5}

4、指定rowkey范围显示

STARTROW指定起始的行键,ENDROW指定结束的行键

      scan "namespace:表名",{COLUMNS => ['列族:列名',"列族:列名"],LIMIT=> ,STARTROW => "",ENDROW => ""}

scan "user_info",{STARTROW => "baiyc_20150716_0008",ENDROW => "zhangsan_20150701_0004"}

      这种显示方式 包含左边界  不包含右边界

      只指定STARTROW 不指定 ENDROW 显示到结尾

      scan "user_info",{COLUMNS => "base_info:age",STARTROW => "baiyc_20150716_0008",ENDROW => "zhangsan_20150701_0004"}

5、指定时间戳范围

      scan "namespace:表名",{COLUMNS=>"",TIMERANGE=>,LIMIT=>}

      scan "user_info",{COLUMNS => "base_info:name",TIMERANGE => [1558844852080,1558844855890]}

      时间戳范围,含头,不含尾

      查询数据 TIMERANGE => [起始时间戳,终止的时间戳]

6、总结

      scan进行表数据查询的时候2种方式

      (1)全表扫描

      (2)指定rowkey范围进行查询

六、单条查询表数据(get)

1、查询指定行键

      查询指定行键的 只能查询一条数据的

      hbase> get 'namespace:表名',"行键"

      get "user_info","zhangsan_20150701_0004"

2、查询指定一行数据的列

COLUMN => []

      get "namespace:表名","行键",{COLUMN => ["列族:列",“列族:列”]}

get "user_info","zhangsan_20150701_0004",{COLUMN => ["base_info:name","base_info:age"]}

3、指定查询一行数据的时间戳

      查看某一列指定版本的数据

      get "user_info","zhangsan_20150701_0004",{TIMESTAMP => 1558844848954}

      get "user_info","zhangsan_20150701_0004",{COLUMN => "base_info:age",TIMESTAMP => 1558847233830}

      put "user_info","zhangsan_20150701_0004","base_info:age","25"

4、指定查询的数据时间戳范围

      get "user_info","zhangsan_20150701_0004",{TIMERANGE => [1558844823464,1558847245992]}

      时间戳,含头不含尾的

posted @ 2019-06-09 22:07  快乐的张小凡  阅读(316)  评论(0编辑  收藏  举报