Hbase 简单操作

原创
2015/12/07 14:44
阅读数 22

一、Put、Get几个特殊情况

 首先Put。
    情况一:String x = null;
    put.add(Bytes.toBytes("info"), Bytes.toBytes("name"), System.currentTimeMillis(), Bytes.toBytes(x));
    这个代码会报错,因为Bytes.toBytes(x)会抛出异常。
 
    情况二:x = "";
    put.add(Bytes.toBytes("info"), Bytes.toBytes("name"), System.currentTimeMillis(), Bytes.toBytes(x));
    这样的数值在hbase中就是value=   后面没有数值。
    
    情况三:x=0;
    Get的时候,value不是null,且value.length>0
    
其次Get。
    针对情况一、直接就入不到hbase,不讨论。
    针对情况二、使用Get取出数据的时候,如下代码,
    byte[] value = result.getValue(Bytes.toBytes("info"), Bytes.toBytes("name"));
    value一定不是null,但是value.length会是0。
    如果说是根据如此方法取出一个根本么有的字段,那么value一定是null。

最后Result。
    //如果想取name字段,但是在hbase中某个rowkey下没有该字段,那么result一定是emtpy,什么都拿不到包括rowkey。    
    get.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name"));        
    byte[] value = result.getValue(Bytes.toBytes("info"), Bytes.toBytes("name"));
    最终的数值一定是什么也得不到,不要妄想拿result而拿出某些属性的值。

        



展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部