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