HBase之JavaAPI

这篇博客介绍了如何使用HBase的Java API进行实际操作,通过一个简单Demo展示具体的代码实现,帮助读者理解如何在Java应用中与HBase交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HBase提供了Java API的访问接口,实际开发中我们经常用来操作HBase,就和我们通过java API操作RDBMS一样。如下

API 作用
HBaseAdmin HBase 客户端,用来操作HBase
Configuration 配置对象
Connection 连接对象
Table HBase 表对象
TableName HBase 中的表名
HTableDescriptor HBase 表描述信息对象
HColumnDescriptor HBase 列族描述对象
Put 用于插入数据
Get 用于查询单条记录
Delete 删除数据对象
Scan 全表扫描对象,查询所有记录
ResultScanner 查询数据返回结果集
Result 查询返回的单条记录结果
Cell 对应HBase中的列
SingleColumnValueFilter 列值过滤器(过滤列植的相等、不等、范围等)
ColumnPrefixFilter 列名前缀过滤器(过滤指定前缀的列名)
multipleColumnPrefixFilter 多个列名前缀过滤器(过滤多个指定前缀的列名)
RowFilter rowKey 过滤器(通过正则,过滤rowKey值)

上面这些API,个人做了一个小Demo,代码如下;

package com.cfl.hbase;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.filter.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * HBase Java API 操作
 * 一般我们使用Java API 主要操作的是数据即DML操作,DDL的操作较少
 */
public class HBaseTest {
   

    static Configuration conf = null;
    private Connection conn = null;
    private HBaseAdmin admin = null;
    private TableName tableName = null;
    private Table table = null;

    // 初始化配置
    @Before
    public void init() throws Exception {
        conf = HBaseConfiguration.create();
        // 如果不设置zookeeper地址,可以将hbase-site.xml文件复制到resource目录下
        conf.set("hbase.zookeeper.quorum","node3,node4,node5");// zookeeper 地址
        // conf.set("hbase.zookeeper.property.clientPort","2188");// zookeeper 客户端端口,默认为2188,可以不用设置
        conn = ConnectionFactory.createConnection(conf);// 创建连接

        // admin = new HBaseAdmin(conf); // 已弃用,不推荐使用
        admin = (HBaseAdmin) conn.getAdmin(); // hbase 表管理类

        tableName = TableName.valueOf("students"); // 表名

        table = conn.getTable(tableName);// 表对象
    }

    // --------------------DDL 操作 Start------------------
    // 创建表 HTableDescriptor、HColumnDescriptor、addFamily()、createTable()
    @Test
    public void createTable() throws Exception {
        // 创建表描述类
        HTableDescriptor desc = new HTableDescr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值