我们将data(int,long,double,string,float)
存储在HBase中作为字符串。
为了进行比较/过滤,我们通过扩展customComparator
来完成WrittableByteArrayComparable
。
现在我们已成功将我们的集群从CDH 4.3.0升级到CDH 5.0.1。
但是,我们注意到WrittableByteArrayComparable
已不再可用,我们被要求根据文档使用ByteArrayComparable
。
使用以下签名的任何示例实现都会有所帮助。
org.apache.hadoop.hbase.filter.SingleColumnValueFilter.SingleColumnValueFilter(byte[] family, byte[] qualifier, CompareOp compareOp, ByteArrayComparable comparator);
如何从底层HBase检索数据是我所需要的。
之前我们使用了WrittableByteArrayComparable
并覆盖了下面提到的方法,这些方法很方便我们customFiltering
。
@Override
public void readFields(DataInput in) throws IOException {
setInputValue(Bytes.readByteArray(in));
setDataType(in.readUTF());
}
@Override
public void write(DataOutput out) throws IOException {
Bytes.writeByteArray(out, getInputValue());
out.writeUTF(getDataType());
}
现在,我对ByteArrayComparable
获得相同的功能感到震惊。