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();
}


相关文章
|
3月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
3月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
280 100
|
3月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
309 101
|
3月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
266 101
|
4月前
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
4月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
381 188
|
4月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
297 92
|
5月前
|
Oracle Java 关系型数据库
掌握Java Stream API:高效集合处理的利器
掌握Java Stream API:高效集合处理的利器
417 80
|
5月前
|
安全 Java API
Java 8 Stream API:高效集合处理的利器
Java 8 Stream API:高效集合处理的利器
316 83
|
3月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
245 2