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这个不知道怎么查询,大家批评指正,有什么好的行键设计例子,也请留言赐教
注:如有侵权,请联系删除