Hbase Java Api 基本操作

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));
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值