(二)Hbase基本操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qinshi965273101/article/details/84996217

帮助

  • help 列出所有命令,并且把命令分组展示
  • help “create”: create 命令教学使用

通用命令

  • status: 查看集群当前状态

  • version:查看hbase的版本信息
  • whoami:查看当前用户信息

名称空间

  • hbase中的名称空间用来分放表,同样的表名放到不同的名称空间就可以。
  • list_namespace:列出所有名称空间  
  • list_namespace_tables 'hbase' : 列出名称空间‘hbase’中的所有表
  • create_namespace 'test_ns':创建名称空间 ‘test_ns’  
  • drop_namespace 'test_ns':删除名称空间‘test_ns’,注意,‘test_ns’名称空间中不能有表
  • hbase本身就具备的名称空间有两个:default(默认名称空间),hbase(hdbase自己使用,里面存储着很多重要信息)

DDL命令

针对表的操作,不指定名称空间,则默认在default名称空间下。

  • list:列出所有的表
  • create:创建表(若列族不指定version,则默认为1)

create 'namespace:tablename', {NAME => 'familyName', VERSIONS => 5}

create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}

create 't1', 'f1', 'f2', 'f3'

  • disable:禁用表
  • disable_all:禁用所有表
  • enable:启用表
  • enable_all:启用所有表
  • drop:删除表 - 需要先禁用表再删除表
  • exists:判断表是否存在

DML命令

  • put:向表中存入数据

put 'ns1:t1', 'r1', 'c1', 'value'

put 't1', 'r1', 'c1', 'value'

put 't1', 'r1', 'c1', 'value', ts1

put 't1', 'r1', 'f1:c1','value' :若列族f1没有列c1,则会自动新增该列,并保存数据

  • get - 从表中获取 某一行 或 某一个单元格的值

get 'ns1:t1', 'r1'

get 't1', 'r1'

get 't1', 'r1', {COLUMN => 'c1'}

get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

  • scan - 扫描表

scan 'ns1:t1'

scan 't1'

scan 't1',{RAW=>true,VESIONS=>5} #RAW=>true返回所有数据 VERISONS=>5返回最近的5个版本

  • delete -- 删除指定单元格的数据

delete 'ns1:t1', 'r1', 'c1', ts1

delete 't1', 'r1', 'c1', ts1

  • truncate -- 摧毁并重建表 等价于 删除表中所有数据的操作 但是效率比 deleteall效率高

猜你喜欢

转载自blog.csdn.net/qinshi965273101/article/details/84996217