2、连接Hbaseorg.apache.hbase hbase-client1.4.6
//连接hbase,主要是连接zookeeper @Before public void getConn()throws Exception{ Configuration configuration = HbaseConfiguration.create(); //获取集群地址 configuration.set("hbase.zookeeper.quorum","master,node1,node2"); //创建连接 Connection connection = ConnectionFactory.createConnection(configuration); } getAdmin对表结构进行 *** 作,getTable对表数据进行 *** 作3、创建表—站在库的角度去创建表,获取admin
//创建一张表 @Test public void getCreateTable()throws Exception{ //获取库,站在库的角度去创建表 Admin admin = connection.getAdmin(); //创建表传入的HTableDescriptor对象,参数为表名 HTableDescriptor test_api = new HTableDescriptor(TableName.valueOf("test_api")); //创建表的列簇 HColumnDescriptor info = new HColumnDescriptor("info"); //设置列簇的属性 info.setMaxVersions(5); //添加列簇 test_api.addFamily(info); admin.createTable(test_api); connection.close(); }4、删除表
//删除表 @Test public void getDelete() throws Exception { Admin admin = connection.getAdmin(); if (admin.tableExists(TableName.valueOf("test_api"))) { admin.disableTable(TableName.valueOf("test_api")); admin.deleteTable(TableName.valueOf("test_api")); } else { System.out.println("表不存在"); } connection.close(); }5、put插入数据
//插入数据 @Test public void getPut()throws Exception{ //获取表 *** 作 Table test_api = connection.getTable(TableName.valueOf("test_api")); //创建一个put对象,给定row_key,以字节数组的形式 Put put = new Put("1001".getBytes()); //指定put数据的列簇,列,数据 put.addColumn("info".getBytes(),"name".getBytes(),"dccc".getBytes()); //put数据,需要传入一个put对象 test_api.put(put); connection.close(); }6、get获取数据
//get获取数据 @Test public void getGet()throws Exception{ Table test_api = connection.getTable(TableName.valueOf("test_api")); Get get = new Get("1001".getBytes()); //get获取数据,需要传入一个get对象 Result result = test_api.get(get); //结果接收 byte[] row = result.getRow(); String row1 = Bytes.toString(row); byte[] value = result.getValue("info".getBytes(), "name".getBytes()); String name = Bytes.toString(value); System.out.println(row1+name); connection.close(); }7、alter修改表结构数据
//alter修改表数据结构 @Test public void getAlter() throws Exception { Admin admin = connection.getAdmin(); //获取原有表的一个HTableDescriptor对象 HTableDescriptor tableDescriptor = admin.getTableDescriptor(TableName.valueOf("test_api")); //获取列簇集合 HColumnDescriptor[] columnFamilies = tableDescriptor.getColumnFamilies(); //获取列簇 for (HColumnDescriptor columnFamily : columnFamilies) { //获取列簇名称 String nameAsString = columnFamily.getNameAsString(); if ("info".equals(nameAsString)) { //获取列簇,设置更改 columnFamily.setTimeToLive(10000); } } //修改表结构属性,传入表名和一个HTableDescriptor对象 admin.modifyTable(TableName.valueOf("test_api"), tableDescriptor); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)