【存储】HBASE表操作命令介绍(八)

Posted by Kaka Blog on September 19, 2018

启动HBase

start-all.sh # 启动Hadoop
zkServer.sh start # 所有节点启动Zookeeper
start-hbase.sh # 启动HBase

连接HBase

hbase shell

通用命令

  • status: 提供HBase的状态,例如,服务器的数量。
  • version: 提供正在使用HBase版本。
  • table_help: 表引用命令提供帮助。
  • whoami: 提供有关用户的信息。

数据定义语言 DDL

  • create: 创建一个表。create 'company','basic','report'
  • list: 列出HBase的所有表。
  • disable: 禁用表。disable 'test'
  • is_disabled: 验证表是否被禁用。
  • enable: 启用一个表。
  • is_enabled: 验证表是否已启用。
  • describe: 提供了一个表的描述。describle 'company'
  • alter: 改变一个表。删除列族:alter 'company', {NAME => 'report', METHOD => 'delete'}添加列族:alter 'company', {NAME => 'holder'}
  • exists: 验证表是否存在。
  • drop: 从HBase中删除表。drop 'test'
  • drop_all: 丢弃在命令中给出匹配“regex”的表。
  • Java Admin API: 在此之前所有的上述命令,Java提供了一个通过API编程来管理实现DDL功能。在这个org.apache.hadoop.hbase.client包中有HBaseAdmin和HTableDescriptor 这两个重要的类提供DDL功能。

数据操纵语言 DML

  • put: 把指定列在指定的行中单元格的值在一个特定的表。put 'company','0001','basic:entname','xiaomi'
  • get: 取行或单元格的内容。get 'company','0001'
  • delete: 删除表中的单元格值。delete 'company','0002','basic:entno'
  • deleteall: 删除给定行的所有单元格。
  • scan: 扫描并返回表数据。scan 'company'
  • count: 计数并返回表中的行的数目。count 'company'
  • truncate: 禁用,删除和重新创建一个指定的表。
  • Java client API: 在此之前所有上述命令,Java提供了一个客户端API来实现DML功能,CRUD(创建检索更新删除)操作更多的是通过编程,在org.apache.hadoop.hbase.client包下。 在此包HTable 的 Put和Get是重要的类。

其它

1、统计行数

效率比count

$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter ‘tablename’

注意:

在hbase shell中如输入出错,按住Ctrl+删除键(backspace) 即可删除!