HBase行键设计例子

MD5利用JavaAPI设计行键

int id = 16;

byte[] rkid= Bytes.toBytes(id);

String prefix = MD5Hash.getMD5AsHex(rkid).substring(0, 3); //取出MD5码的前三位

byte[] rkid2 = Bytes.toBytes(prefix);

byte[] rowkey = Bytes.add(rkid, rkid2); //合并

        

        shell设计行键

        UPDATE fields_tmp SET hbase_row_key = MD5(id); //主键MD5加密当作行键

        SELECT * FROM fields_tmp WHERE hbase_row_key = MD5(2);

        SELECT * FROM fields_tmp WHERE hbase_row_key=MD5(10); //只能查指定行的

 

 

联合主键利用JavaAPI设计行键

//将MySQL的数据存储到hbase上

String id = result.getString("id");

String name=result.getString("name");

String rowkey=id+name //联合主键

Put put =new Put(Bytes.toBytes(rowkey));

 

 

StringBuilder a =new StringBuilder(tydm);

//StringBuffer a=new StringBuffer(tydm); //Buffer跟Builder两个都行

String rowkey = a.reverse().toString()+jgmc; //主键反转+联合主键

Put put=new Put(Bytes.toBytes(rowkey));

 

 

UUID uuid=UUID.randomUUID();

byte [] rowkey =Bytes.toBytes(uuid);

 

UUID这个不知道怎么查询,大家批评指正,有什么好的行键设计例子,也请留言赐教

 

注:如有侵权,请联系删除

你可能感兴趣的:(hbase)