HBase常用Shell与JavaAPI操作
1、常用shell
名称 | 命令 |
---|---|
创建表 | create ‘表名’,‘列簇名1’,‘列簇名2’ |
获取数据 | get ‘表名’,‘行键’ ,‘列簇名:列名’ |
添加数据 | put ‘表名’,‘行键’ ,‘列簇名:列名’,‘值’ |
查看所有表 | list |
查看表结构 | desc ‘表名’ |
删除列 | delete ‘表名’, ‘行键’,‘列簇名:列名’ |
删除一行数据 | delete ‘表名’, ‘行键’ |
删除表 | drop ‘表名’ 删除表前需禁用表 |
清空表数据 | truncate ‘表名’ |
查询所有数据 | scan ‘表名’ |
查询前2条数据 | scan ‘表名’,{LIMIT=>2} |
范围查询 | scan ‘表名’,{STARTROW => ‘起始行键名’, ENDROW => ‘结束行键名’} |
统计表记录 | count ‘表名’, {INTERVAL => 多少行显示一次, CACHE => 每次取的大小} |
增加列簇 | alter ‘表名’, {NAME=> ‘列簇名’} |
删除列簇 | alter ‘表名’, ‘delete’=>‘列簇名’ |
禁用表 | disable ‘表名’ |
启用表 | enable ‘表名’ |
判断表是否存在 | exists ‘表名’ |
2、JavaAPI操作
2.1、HBaseAdmin类
类:org.apache.hadoop.hbase.client.HBaseAdmin
作用:提供了一个接口来管理 HBase 数据库的表信息。它提供的方法包括:创建表,删 除表,列出表项,使表有效或无效,以及添加或删除表列族成员等。
2.2、HBaseConfiguration类
类:org.apache.hadoop.hbase.HBaseConfiguration
作用:对 HBase 进行配置
2.3、HTableDescriptor类
类: org.apache.hadoop.hbase.HTableDescriptor
作用:包含了表的名字极其对应表的列族
2.4、HColumnDescriptor类
类: org.apache.hadoop.hbase.HColumnDescriptor
作用:维护着关于列族的信息,例如版本号,压缩设置等。它通常在创建表或者为表添 加列族的时候使用。列族被创建后不能直接修改,只能通过删除然后重新创建的方式。列族被删除的时候,列族里面的数据也会同时被删除。
2.5、HTable类
类: org.apache.hadoop.hbase.client.Htable
作用:可以用来和 HBase 表直接通信。此方法对于更新操作来说是非线程安全的。
2.6、Put类
类: org.apache.hadoop.hbase.client.Put
作用:用来对单个行执行添加操作
2.7、Get类
类: org.apache.hadoop.hbase.client.Get
作用:用来获取单个行的相关信息
2.8、Result类
类: org.apache.hadoop.hbase.client.Result
作用:存储 Get 或者 Scan 操作后获取表的单行值。使用此类提供的方法可以直接获取值 或者各种 Map 结构( key-value 对)
3、JavaAPI实操代码
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
/**
* Created with IntelliJ IDEA.
*
* @Author: Ding
* @Date: 2021/11/30/21:00
* @Description: ctrl + alt + f 将局部变量提升成全局变量
*/
public class APIoperation {
private Connection conn;
private Admin admin;
@Before
/**
* 初始化连接
*/
public void init() throws IOException {
// 创建一个配置
Configuration conf = HBaseConfiguration.create();
conf