如何使用Stargate REST将整数/浮点数作为字节数组插入HBase?

时间:2014-01-06 09:33:17

标签: hbase stargate

我知道Stargate希望将插入到HBase表中的值作为base64编码。

在为HTTP PUT形成JSON有效负载之前,我们如何base64编码整数和浮点数等数值?

1 个答案:

答案 0 :(得分:0)

我自己可以解决这个问题,下面是我可以编码整数和双值的片段:

long t = 11; 
String e1 = Base64.encodeBase64String(BigInteger.valueOf(t).toByteArray());

t = 78; 
String e2 = Base64.encodeBase64String(BigInteger.valueOf(t).toByteArray());     

System.out.println("e1: "+e1+", e2: "+e2);

try {
  ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
  DataOutputStream out = new DataOutputStream(byteOut);

  double d = -1.966723;
  out.writeDouble(d);
  out.flush();
  byte[] buf  = byteOut.toByteArray();
  String e3 = Base64.encodeBase64String(buf);   
  System.out.println("e3: "+e3);
}
catch(Exception e) {
    System.out.println("Exception: "+e);
}