HBase java API

简介: HBase java API

1.pom

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-client</artifactId>
    <version>1.3.5</version>
</dependency>

2.api

public static void create() {
    Configuration conf = new Configuration();
    conf.set("hbase.zookeeper.quorum", "localhost:2181");
    try {
        //连接hbase
        Connection con = ConnectionFactory.createConnection(conf);
        //获取t01表
        HBaseAdmin admin = (HBaseAdmin) con.getAdmin();
        String tableName = "t1";
        if (admin.tableExists("t1")) {
            admin.disableTable("t1");
            admin.deleteTable(tableName);
            System.out.println("Table exists!");
        }
        HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf("t1"));
        tableDesc.addFamily(new HColumnDescriptor("cf".getBytes()));
        admin.createTable(tableDesc);
        System.out.println("create table success!");
        admin.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
public static void insert() throws IOException {
    Configuration conf = new Configuration();
    conf.set("hbase.zookeeper.quorum", "localhost:2181");
    //获取t01表
    HTable hTable = new HTable(conf,"t1");
    String rowKey = "2222";
    Put put = new Put(rowKey.getBytes());
    put.addColumn("cf".getBytes(), "name".getBytes(), "xiaohong".getBytes());
    put.addColumn("cf".getBytes(), "age".getBytes(), "23".getBytes());
    put.addColumn("cf".getBytes(), "sex".getBytes(), "women".getBytes());
    hTable.put(put);
    hTable.close();
}
public static void get() throws IOException {
        Configuration conf = new Configuration();
        conf.set("hbase.zookeeper.quorum", "localhost:2181");
        Connection connection = ConnectionFactory.createConnection(conf); //config为前文的配置对象
        TableName tableName = TableName.valueOf("t1");
        Table table= connection.getTable(tableName);
        String rowKey = "111111";
        Get get = new Get(rowKey.getBytes());
        // 获取指定的列,不指定的列不去查,开发必须写!不写是全部列!
        // 就像 select *
        get.addColumn("cf".getBytes(), "name".getBytes());
        get.addColumn("cf".getBytes(), "age".getBytes());
        get.addColumn("cf".getBytes(), "sex".getBytes());
        Result rs = table.get(get);
        Cell cell = rs.getColumnLatestCell("cf".getBytes(), "name".getBytes());
        Cell cell2 = rs.getColumnLatestCell("cf".getBytes(), "age".getBytes());
        Cell cell3 = rs.getColumnLatestCell("cf".getBytes(), "sex".getBytes());
        // System.out.println(new String(cell.getValue())); 过期了,用下面的工具类
        System.out.println(new String(CellUtil.cloneValue(cell)));
        System.out.println(new String(CellUtil.cloneValue(cell2)));
        System.out.println(new String(CellUtil.cloneValue(cell3)));
        table.close();
        connection.close();
}


相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3天前
|
Java API 开发者
RESTful API设计与实现:Java开发者指南
RESTful API设计与实现:Java开发者指南
|
2天前
|
Java 测试技术 API
Java详解 : API常用类
Java详解 : API常用类
|
5天前
|
存储 安全 Java
掌握Java Streams API的使用技巧
掌握Java Streams API的使用技巧
|
1天前
|
缓存 Java API
Java中设计和优化REST API的技巧
Java中设计和优化REST API的技巧
|
1天前
|
监控 搜索推荐 Java
​邮件群发API,AOKSend关于Java示例代码
AOKSend邮件群发API简化了企业邮件自动化,提高效率,支持个性化内容和实时分析。其优势在于易于集成、高可靠性、丰富功能和详细统计。Java开发者可快速添加依赖,配置API密钥,使用示例代码发送邮件。通过AOKSend,企业能优化邮件策略,提升邮件营销效果。
|
1天前
|
Java API 开发者
RESTful API设计与实现:Java开发者指南
RESTful API设计与实现:Java开发者指南
|
2天前
|
Java API UED
Java异步API设计与实现
Java异步API设计与实现
|
2天前
|
负载均衡 Java API
Java微服务架构中的API网关设计与实现
Java微服务架构中的API网关设计与实现
|
2天前
|
Kubernetes Java 应用服务中间件
Kubernetes 上搭建一个 Nginx 的 Pod,并确保传入的 API 请求被均匀地分发到两个 Java 业务 Pod 上
Kubernetes 上搭建一个 Nginx 的 Pod,并确保传入的 API 请求被均匀地分发到两个 Java 业务 Pod 上
5 0
|
5天前
|
缓存 JSON Java
使用Java进行RESTful API开发的最佳实践
使用Java进行RESTful API开发的最佳实践