HBase rest 和thrift java例子

来源:互联网 发布:辐射4超低配优化ini 编辑:程序博客网 时间:2024/06/05 08:39
package example2;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.rest.client.Client;import org.apache.hadoop.hbase.rest.client.Cluster;import org.apache.hadoop.hbase.rest.client.RemoteHTable;import org.apache.hadoop.hbase.util.Bytes;//Administratorpublic class RestExample {/** * @param args */public static void main(String[] args)throws Exception {Cluster cluster=new Cluster();cluster.add("master", 8080);Client client=new Client(cluster);RemoteHTable table=new RemoteHTable(client, "testtable");Get get=new Get(Bytes.toBytes("row6"));get.addColumn(Bytes.toBytes("family1"), Bytes.toBytes("column6"));Result result=table.get(get);System.out.println(result);table.close();}}

产生java thrift代码thrift -gen java -out ./ Hbase.thrift

package example2;import java.io.UnsupportedEncodingException;import java.nio.ByteBuffer;import java.nio.charset.CharacterCodingException;import java.nio.charset.Charset;import java.nio.charset.CharsetDecoder;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor;import org.apache.hadoop.hbase.thrift.generated.Hbase;import org.apache.hadoop.hbase.thrift.generated.TCell;import org.apache.hadoop.hbase.util.Bytes;import org.apache.thrift.protocol.TBinaryProtocol;import org.apache.thrift.protocol.TProtocol;import org.apache.thrift.transport.TSocket;import org.apache.thrift.transport.TTransport;//Administratorpublic class ThriftExample {/** * @param args */public static void main(String[] args) throws Exception {TTransport transport = new TSocket("master", 9090);TProtocol protocol = new TBinaryProtocol(transport, true, true);Hbase.Client client = new Hbase.Client(protocol);transport.open();System.out.println("scanning tables...");for (ByteBuffer name : client.getTableNames()) {System.out.println("  found: " + utf8(name.array()));}Map<ByteBuffer, ColumnDescriptor>colDesc= client.getColumnDescriptors(ByteBuffer.wrap(bytes("testtable")));for(Entry<ByteBuffer, ColumnDescriptor>desc:colDesc.entrySet()){System.out.println(utf8(desc.getKey().array()));System.out.println(desc.getValue());}List<TCell>cellList=client.getRowOrBefore(ByteBuffer.wrap(bytes("testtable")), ByteBuffer.wrap(bytes("row6")), ByteBuffer.wrap(bytes("family1")));for(TCell cell:cellList){System.out.println(utf8(cell.getValue()));}List<ColumnDescriptor> colDescList=new ArrayList<ColumnDescriptor>();ColumnDescriptor desc=new ColumnDescriptor();desc.setName(Bytes.toBytes("family1"));colDescList.add(desc);//client.createTable(ByteBuffer.wrap(bytes("testthrift")), colDescList);//client.disableTable(ByteBuffer.wrap(Bytes.toBytes("testthrift")));//client.deleteTable(ByteBuffer.wrap(Bytes.toBytes("testthrift")));}private static String utf8(byte[] buf) {try {CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder();;return decoder.decode(ByteBuffer.wrap(buf)).toString();} catch (CharacterCodingException e) {return "[INVALID UTF-8]";}}private static byte[] bytes(String s) {try {return s.getBytes("UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();return null;}}}


t
0 0