如何获取复合列名称组件

时间:2013-07-24 09:05:47

标签: java cassandra hector

如何从ByteBuffer获取复合列组件?

我问this question

但没有回应。我现在正试图从字节缓冲区中获取列名称

        Composite start = new Composite();
    start.addComponent(System.currentTimeMillis(), LS);
    List<HColumn<Composite, String>> columns = cs.setRange(start, null, true, 10).execute().get().getColumns();

    for (HColumn<Composite, String> column : columns) {
        ByteBuffer bf = column.getNameBytes();
        Serializer<Composite> ns = column.getNameSerializer();
        Composite composite = ns.fromByteBuffer(bf);
// I get an exception from above line
        String value = column.getValue();
    }

我的问题是我有一个由两个LongType组成的复合比较器的列族 然后我在其中一行上执行列切片,并从List列中获取列名称并从中获取单个组件。请有人帮助我,我被困住了

1 个答案:

答案 0 :(得分:0)

for (HColumn<Composite, String> column : columns) {
        for(Component<?> compositeComponent: column.getName().getComponents()) {
                Serializer<?> srz = compositeComponent.getSerializer();
                Object value = compositeComponent.getValue(srz);
        }
}