Cassandra Hector:如何将null作为列值插入?

时间:2012-05-15 11:44:37

标签: cassandra hector

Cassandra经常使用的案例是将数据存储在动态创建的列族的列名中。在这种情况下,不需要行值本身,通常的做法是在那里存储空值。 但是,在处理Hector时,似乎无法插入null值,因为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);
      }

有没有办法通过赫克托插入空值?如果不是,那么当您不关心列值并且只需要它们的名称时,最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

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