近日查看了相关资料后,梳理了一下用java实现hbase的表创建、数据插入、删除表,代码如下:
1、需要的jar包:
commons-codec-1.4.jar
commons-logging-1.0.4.jar
hadoop-0.20.2-core.jar
hbase-0.20.6.jar
log4j-1.2.15.jar
zookeeper-3.2.2.jar
2、代码:
- packageorg.myhbase;
- importjava.io.IOException;
- importorg.apache.hadoop.conf.Configuration;
- importorg.apache.hadoop.hbase.HBaseConfiguration;
- importorg.apache.hadoop.hbase.HColumnDescriptor;
- importorg.apache.hadoop.hbase.HTableDescriptor;
- importorg.apache.hadoop.hbase.KeyValue;
- importorg.apache.hadoop.hbase.client.HBaseAdmin;
- importorg.apache.hadoop.hbase.client.HTable;
- importorg.apache.hadoop.hbase.client.Result;
- importorg.apache.hadoop.hbase.client.ResultScanner;
- importorg.apache.hadoop.hbase.client.Scan;
- importorg.apache.hadoop.hbase.io.BatchUpdate;
- publicclassHBaseBasic02{
- staticHBaseConfigurationhbaseConfig=null;
- static{
- Configurationconfig=newConfiguration();
- config.set("hbase.zookeeper.quorum","192.168.10.149,192.168.10.44,192.168.10.49");
- config.set("hbase.zookeeper.property.clientPort","2181");
- hbaseConfig=newHBaseConfiguration(config);
- }
- /**
- *创建一张表
- *@throwsIOException
- */
- publicstaticvoidcreateTable(Stringtablename)throwsIOException{
- HBaseAdminadmin=newHBaseAdmin(hbaseConfig);
- if(admin.tableExists(tablename)){
- System.out.println("tableExists!!!");
- }else{
- HTableDescriptortableDesc=newHTableDescriptor(tablename);
- tableDesc.addFamily(newHColumnDescriptor("name:"));
- admin.createTable(tableDesc);
- System.out.println("createtableok.");
- }
- }
- /**
- *删除一张表
- *@throwsIOException
- */
- publicstaticvoiddropTable(Stringtablename)throwsIOException{
- HBaseAdminadmin=newHBaseAdmin(hbaseConfig);
- admin.disableTable(tablename);
- admin.deleteTable(tablename);
- System.out.println("droptableok.");
- }
- /**
- *添加一条数据
- *@throwsIOException
- */
- publicstaticvoidaddData(Stringtablename)throwsIOException{
- HTabletable=newHTable(hbaseConfig,tablename);
- BatchUpdateupdate=newBatchUpdate("Huangyi");
- update.put("name:java","http://www.sun.com".getBytes());
- table.commit(update);
- System.out.println("adddataok.");
- }
- /**
- *显示所有数据
- *@throwsIOException
- */
- publicstaticvoidgetAllData(Stringtablename)throwsIOException{
- HTabletable=newHTable(hbaseConfig,tablename);
- Scans=newScan();
- ResultScannerrs=table.getScanner(s);
- for(Resultr:rs){
- for(KeyValuekv:r.raw()){
- System.out.println("rowkey:"+newString(kv.getRow()));
- System.out.println(newString(kv.getColumn())+"="+newString(kv.getValue()));
- }
- }
- }
- publicstaticvoidmain(String[]args)throwsIOException{
- Stringtablename="table_1";
- HBaseBasic02.createTable(tablename);
- HBaseBasic02.addData(tablename);
- HBaseBasic02.getAllData(tablename);
- HBaseBasic02.dropTable(tablename);
- }
- }