/**




* Created by similarface on 16/8/16.




*/







import​
​java.io.IOException;







import​
​org.apache.hadoop.conf.Configuration;



import​
​org.apache.hadoop.hbase.HBaseConfiguration;



import​
​org.apache.hadoop.hbase.TableName;



import​
​org.apache.hadoop.hbase.client.Connection;



import​
​org.apache.hadoop.hbase.client.ConnectionFactory;



import​
​org.apache.hadoop.hbase.client.Get;



import​
​org.apache.hadoop.hbase.client.Table;



import​
​org.apache.hadoop.hbase.client.Put;



import​
​org.apache.hadoop.hbase.client.Result;



import​
​org.apache.hadoop.hbase.util.Bytes;



import​
​org.apache.hadoop.hbase.client.BufferedMutator;



import​
​org.apache.hadoop.hbase.Cell;



import​
​org.apache.hadoop.hbase.CellUtil;



import​
​org.apache.hadoop.hbase.client.Mutation;



import​
​java.util.List;



import​
​java.util.ArrayList;



public​
​class​
​PutBufferExample {




public​
​static​
​void​
​main(String[] args) ​
​throws​
​IOException {




//获取陪着参数




Configuration config = HBaseConfiguration.create();




//建立连接




Connection connection = ConnectionFactory.createConnection(config);




try​
​{




//连接表 获取表对象




Table t = connection.getTable(TableName.valueOf(​
​"testtable"​
​));




BufferedMutator table = connection.getBufferedMutator(TableName.valueOf(​
​"testtable"​
​));




try​
​{




Put p = ​
​new​
​Put(Bytes.toBytes(​
​"myrow-1"​
​));




//p.add(); 这个地方的add 是个过期的方法然而我并不知道Cell的用法是什么




p.add(Bytes.toBytes(​
​"colfam1"​
​), Bytes.toBytes(​
​"name1"​
​), Bytes.toBytes(​
​"zhangsan1"​
​));




//table.put(p);




List<Mutation> mutations = ​
​new​
​ArrayList<Mutation>();




mutations.add(p);




table.mutate(mutations);




//如果不flush 在后面get可能是看不见的




table.flush();




// Close your table and cluster connection.




Get get=​
​new​
​Get(Bytes.toBytes(​
​"myrow-1"​
​));




Result result=t.get(get);




for​
​(Cell cell:result.rawCells()){




System.out.print(​
​"行健: "​
​+​
​new​
​String(CellUtil.cloneRow(cell)));




System.out.print(​
​"\t列簇: "​
​+​
​new​
​String(CellUtil.cloneFamily(cell)));




System.out.print(​
​"\t列: "​
​+​
​new​
​String(CellUtil.cloneQualifier(cell)));




System.out.print(​
​"\t值: "​
​+​
​new​
​String(CellUtil.cloneValue(cell)));




System.out.println(​
​"\t时间戳: "​
​+cell.getTimestamp());




}




System.out.print(​
​">>>>end"​
​);




} ​
​finally​
​{




if​
​(table != ​
​null​
​) table.close();




}




} ​
​finally​
​{




connection.close();




}




}



}