4

Cassandra 的一个常见用例是将数据存储在动态创建的列族的列名中。在这种情况下,不需要行值本身,通常的做法是在那里存储空值。但是,在处理 Hector 时,似乎无法插入空值,因为 Hector HColumnImpl 在列的构造函数中进行了显式的空检查:

 public HColumnImpl(N name, V value, long clock, Serializer<N> nameSerializer,
       Serializer<V> valueSerializer) {
        this(nameSerializer, valueSerializer);
        notNull(name, "name is null");
        notNull(value, "value is null");

        this.column = new Column(nameSerializer.toByteBuffer(name));
        this.column.setValue(valueSerializer.toByteBuffer(value));
        this.column.setTimestamp(clock);
      }

有什么方法可以通过 Hector 插入空值?如果不是,那么在您不关心列值并且只需要它们的名称的情况下,最佳实践是什么?

4

1 回答 1

3

尝试使用空字节[],即new byte[0];

于 2012-05-16T04:37:18.393 回答