Как да вмъкна Double [] в HBase?

Например, ако искам да вмъкна двойно[] като, Double[] dArr={10.23,25.1,30.5,45.3}; в таблицата HBase. Бихте ли ми казали как да го вмъкна в hbase??


person Kunnal Bhardwaj    schedule 02.02.2015    source източник


Отговори (1)


Можете да съхранявате всичко, което искате, просто трябва да го сериализирате в байт []:

Double[] dArr={10.23,25.1,30.5,45.3};
byte[] value = new byte[0];
byte[] family = "f".getBytes();
byte[] column = "d".getBytes();
for (Double d:dArr) {
    value = Bytes.add(value, Bytes.toBytes(d));
}
Put put = new Put( rowKey );
put.add(family, column, Bytes.toBytes(value));
...

Ще трябва да десериализирате данните, когато четете стойността (конвертиране от byte[] в Double[])

Друго нещо, което можете да направите, е да съхранявате всеки Double (като байт []) в собствена колона (d0 до dX)

Double[] dArr={10.23,25.1,30.5,45.3};
Put put = new Put( rowKey );
byte[] family = "f".getBytes();
byte[] column = "d".getBytes();
int i=0;
for (Double d:dArr) {
    put.add( family, Bytes.add(column, Bytes.toBytes(i)), Bytes.toBytes(d));
    i++;
}
...
person Rubén Moraleda    schedule 02.02.2015