package Test; 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.*; import java.io.IOException; /** * Created by Hadoop on 15-3-31. */ public class test { public static final String TABLE_NAME = "table1"; public static final String FAMILY_NAME = "family1"; public static final String ROW_KEY = "rowkey1"; public static void main(String[] args) throws Exception { Configuration configuration = HBaseConfiguration.create(); configuration.set("hbase.rootdir", "hdfs://master:9000/hbase"); final HBaseAdmin hBaseAdmin = new HBaseAdmin(configuration); //创建数据库 createTable(hBaseAdmin); final HTable hTable = new HTable(configuration, TABLE_NAME); //添加数据 putRecord(hTable); //获取数据 getRecord(hTable); //删除数据库 deleteTable(hBaseAdmin); //遍历数据库 scanTable(hTable); } public static void putRecord(final HTable hTable) throws IOException { Put put = new Put(ROW_KEY.getBytes()); put.add(FAMILY_NAME.getBytes(), "age".getBytes(), "25".getBytes()); hTable.put(put); } private static void createTable(final HBaseAdmin hBaseAdmin) throws IOException { if (!hBaseAdmin.tableExists(TABLE_NAME)) { HTableDescriptor tableDescriptor = new HTableDescriptor(TABLE_NAME); HColumnDescriptor family = new HColumnDescriptor(FAMILY_NAME); tableDescriptor.addFamily(family); hBaseAdmin.createTable(tableDescriptor); } } private static void getRecord(final HTable hTable) throws IOException { Get get = new Get(ROW_KEY.getBytes()); final Result result = hTable.get(get); final byte[] value = result.getValue(FAMILY_NAME.getBytes(), "age".getBytes()); System.out.println(result+"\t"+new String(value)); } private static void deleteTable(final HBaseAdmin hBaseAdmin) throws IOException { hBaseAdmin.disableTable(TABLE_NAME); hBaseAdmin.deleteTable(TABLE_NAME); } private static void scanTable(final HTable hTable) throws IOException { Scan scan = new Scan(); final ResultScanner scanner = hTable.getScanner(scan); for (Result result : scanner) { final byte[] value = result.getValue(FAMILY_NAME.getBytes(), "age".getBytes()); System.out.println(result+"\t"+new String(value)); } } }
Hbase Java Api 基本操作
最新推荐文章于 2024-07-16 16:15:20 发布