Hbase新API以及Hbase增删改差

Hbase 1.0以后API改进与升级:java

最近发觉网上教程略显陈旧,API仍是使用老式的API,致使代码成片的deprecated警告。下面是升级后的HbaseAdmin Java API:spa

旧API 新API
Configuration config = new Configuration();
config.set("hbase.zookeeper.quorum", "a.com,b.com,c.com,d.com");

try (HBaseAdmin admin = new HBaseAdmin(config)) {
    // do something
    admin.close();//关闭链接
}catch (IOException e){
    e.printStackTrace();
}
Configuration config = new Configuration();
config.set("hbase.zookeeper.quorum", "a.com,b.com,c.com,d.com");

try(Connection connection = ConnectionFactory.createConnection(config)){// HBase 0.99+
    HBaseAdmin admin = (HBaseAdmin) connection.getAdmin();
    // do something
    admin.close();//关闭链接
}catch(IOException e){
    e.printStackTrace();
}

升级后跟后代的兼容性也会好不少。code

 

另外一个升级是Put类的升级,将add方法变为addColumn方法:blog

旧API 新API
Put put = new Put(rowkey.getBytes());

put.add("cf1".getBytes(),"phone".getBytes(),
        phone.getBytes());
put.add("cf1".getBytes(),"dest".getBytes(),
        getPhone("151"+j).getBytes());
put.add("cf1".getBytes(),"type".getBytes(),
        (r.nextInt(2)+"").getBytes());
put.add("cf1".getBytes(),"date".getBytes(),
        date.getBytes());

 

Put put = new Put(rowkey.getBytes());

put.addColumn("cf1".getBytes(),
    "phone".getBytes(),phone.getBytes());
put.addColumn("cf1".getBytes(),
    "dest".getBytes(),getPhone("152"+j).getBytes());
put.addColumn("cf1".getBytes(),
    "type".getBytes(),(r.nextInt(2)+"").getBytes());
put.addColumn("cf1".getBytes(),
    "date".getBytes(),date.getBytes());
相关文章
相关标签/搜索