(二)hbase API的代码

import java.io.IOException;
//import java.util.Map; 
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
public class Hbasecreate {
         static Configuration cfg = HBaseConfiguration.create();
         public static void create(String tablename, String columnFamily) throws Exception {
                  HBaseAdmin admin = new HBaseAdmin(cfg);
                  if (admin.tableExists(tablename)) {
                          System.out.println("table Exists!");
                                   admin.disableTable(tablename);
                                   admin.deleteTable(tablename);
                  } else {
                          @SuppressWarnings("deprecation")
                          HTableDescriptor tableDesc = new HTableDescriptor(tablename);
                          tableDesc.addFamily(new HColumnDescriptor(columnFamily));
                          admin.createTable(tableDesc);
                          System.out.println("create table success!");
                  }
         }
         public static void put(String tablename, String row, String columnFamily, String column, String data)
                          throws IOException {
                  HTable table = new HTable(cfg, tablename);
                  Put p1 = new Put(Bytes.toBytes(row));
                  p1.add(Bytes.toBytes(columnFamily), Bytes.toBytes(column), Bytes.toBytes(data));
                  table.put(p1);
                  System.out.println("put'" + row + "','" + columnFamily + ":" + column + "','" + data + "'");
         }
         public static void get(String tablename, String row) throws IOException {
                  HTable table = new HTable(cfg, tablename);
                  Get g = new Get(Bytes.toBytes(row));
                  Result result = table.get(g);
                  System.out.println("Get:" + result);
         }
         public static void scan(String tablename) throws Exception {
                  HTable table = new HTable(cfg, tablename);
                  Scan s = new Scan();
                  ResultScanner rs = table.getScanner(s);
                  for (Result r : rs) {
                          System.out.println("Scan:" + r);
                  }
         }
         public static boolean delete(String tablename) throws IOException {
                  HBaseAdmin admin = new HBaseAdmin(cfg);
                  if (admin.tableExists(tablename)) {
                          try {
                                   admin.disableTable(tablename);
                                   admin.deleteTable(tablename);
                          } catch (Exception ex) {
                                   ex.printStackTrace();
                                   return false;
                          }
                  }
                  return true;
         }
         public static void main(String[] args) {
                  String tablename = "hbase_tb";
                  String columnFamily = "cf";
                  try {
                          Hbasecreate.create(tablename, columnFamily);
                          Hbasecreate.put(tablename, "row1", columnFamily, "cl1", "data");
                          Hbasecreate.get(tablename, "row1");
                          Hbasecreate.scan(tablename);
                          /*
                           * if(true==Hbasecreate.delete(tablename)){
                           * System.out.println("Delete table:"+tablename+"success!"); }
                           */
                  } catch (Exception e) {
                          e.printStackTrace();
                  }
         }
}

原文地址:https://www.cnblogs.com/apppointint/p/8885313.html