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);
}
有没有办法通过赫克托插入空值?如果不是,那么当您不关心列值并且只需要它们的名称时,最佳做法是什么?
答案 0 :(得分:3)
尝试使用空字节[],即new byte[0];