hbase api

1) insert

public static void insertData(String tableName) throws Exception {
        System.out.println("start insert data ......");
//        HTablePool pool = new HTablePool(configuration, 1000);
//        HTable table = (HTable) pool.getTable(tableName);
//        Put put = new Put("112233bbbcccc".getBytes());// 一个PUT代表一行数据,再NEW一个PUT表示第二行数据,每行一个唯一的ROWKEY,此处rowkey为put构造方法中传入的值
//        put.add("column1".getBytes(), null, "aaa".getBytes());// 本行数据的第一列
//        put.add("column2".getBytes(), null, "bbb".getBytes());// 本行数据的第三列
//        put.add("column3".getBytes(), null, "ccc".getBytes());// 本行数据的第三列
//        
//        HTablePool pool = new HTablePool(configuration, 1000);
        HTable table = new HTable(configuration, tableName);
        Put put = new Put("123456".getBytes());
        put.add("columnFamily1".getBytes(), "name".getBytes(), "kate".getBytes());
        put.add("columnFamily1".getBytes(), "age".getBytes(), "1221".getBytes());
        put.add("columnFamily2".getBytes(), "teacher".getBytes(), "T1".getBytes());
        
        try {
//            table.put(put);
//            table.put(put);
            table.checkAndPut(Bytes.toBytes("123456"), Bytes.toBytes("columnFamily1"), Bytes.toBytes("name"), Bytes.toBytes("kate1"), put);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("end insert data ......");
    }

checkAndPut()方法,是当后面column family,column name, column value和即将PUT的数据相同时,才会put进hbase,否则忽略这条即将插入的记录;

如果chekcout的rowkey和要put的rowkey不相同,则会抛异常,只有检查相同时,才会去check后面的参数; 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值