HBase之Java API

本文介绍了如何使用HBase的Java API进行数据库管理和操作,包括通过Configuration对象设置配置,利用HBaseAdmin创建和管理表格,使用HTable进行增删改查操作,以及Delete和Scan操作的示例。此外,还提及了过滤器和Result结果集的遍历方法。

Table of Contents

Java API应用

Java API应用

  1. Configuration

    在使用Java API时,Client端需要知道HBase的配置环境,如存储地址,zookeeper等信息。这些信息通过Configuration对象来封装,可通过如下代码构建该对象:

    Configuration config=HBaseConfiguration.create();

    在调用HBaseConfiguration.create()方法时,HBase首先会在classpath下查找hbase-site.xml文件,将里面的信息解析出来封装到Configuration对象中,如果hbase-site.xml文件不存在,则使用默认的hbase-core.xml文件。

    除了将hbase-site.xml放到classpath下,开发人员还可通过config.set(name, value)方法来手工构建Configuration对象:

    Configuration.set(String name, String value);

  2. HBaseAdmin

    HBaseAdmin用于创建数据库表格,并管理表格的元数据信息,通过如下方法构建:

    HBaseAdmin admin=new HBaseAdmin(config);

    常用方法如列表所示:

    Table 1. HBaseAdmin常用方法

    方法名 方法描述
    addColumn(tableName,column) 为表格添加栏位
    deleteColumn(tableName,column) 删除指定栏位
    balanceSwitch(boolean) 是否启用负载均衡
    createTable(HTableDescriptor desc) 创建表格
    deleteTable(tableName) 删除表格
    tableExists(tableName) 判断表格是否存在

    Example 1. 创建表格

    HBaseAdmin admin=new HBaseAdmin(config);  
    If(!admin.tableExists(“test”)){
        HTableDesc
Hbase 基本操作类 static { //此处可以使用hbase的配置文件,也可以通过代码来实例化hbase连接 /* * Configuration HBASE_CONFIG = new Configuration(); * HBASE_CONFIG.set("hbase.zookeeper.quorum", "10.229.171.45"); * HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "2181"); * HBASE_CONFIG.set("hbase.zookeeper.quorum","10.233.92.85,10.233.92.86,10.233.92.88"); * HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "2181"); * HBASE_CONFIG.set("zookeeper.znode.parent", "/hbase-unsecure"); conf = HBaseConfiguration.create(HBASE_CONFIG); */ conf = HBaseConfiguration.create(); if("kerberos".equals(conf.get("hbase.security.authentication"))){ try { //设置hadoop.security.authentication为kerberos conf.set("hadoop.security.authentication", "kerberos"); //获取kerberos配置文件路径(krb为kerberos配置文件) String krbStr=Thread.currentThread().getContextClassLoader().getResource("krb").getFile(); //获取用户票据hezhong路径(hezhong为给合众分配的用户配置文件) String keyStr=Thread.currentThread().getContextClassLoader().getResource("jdzy").getFile(); //初始化配置文件 System.setProperty("java.security.krb5.conf", krbStr); //使用用户hezhong登录 UserGroupInformation.setConfiguration(conf); UserGroupInformation.loginUserFromKeytab("jdzy/f04345e6-70c1-448a-9bbb-4ac6b4c0109b@POLICE.COM", keyStr); } catch (IOException e) { e.printStackTrace(); } } tablePool = new HTablePool(conf, poolsize); logger.debug("create hbase connection success"); // System.out.println("create hbase connection success"); }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值