HBase常用Shell与JavaAPI操作

本文介绍了HBase的常用Shell操作及JavaAPI的使用,包括HBaseAdmin用于管理表信息,HBaseConfiguration进行配置,HTableDescriptor描述表及列族,HColumnDescriptor维护列族详情,HTable实现与表的交互,Put和Get分别用于行的添加和获取,Result存储获取的行值。
摘要由CSDN通过智能技术生成

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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值