可以在列名上指定单个比较器吗?

时间:2012-12-26 04:09:46

标签: cassandra

到目前为止,我在创建Column Family时同时定义了Comparator(它指定了列名的数据类型),并且该族中的所有列都使用相同的Comparator数据类型。

[default@Voting] create column family User with comparator = UTF8Type;

我想在列族中使用具有不同比较器数据类型的列。

我的问题是:在定义各个列的元数据时是否可以指定比较器,其方式与定义的该列的validation_class相同?

E.g。

update column family User with column_metadata = [{column_name: firstName, validation_class: UTF8Type}];

1 个答案:

答案 0 :(得分:2)

比较器告诉Cassandra如何对列名称进行排序,而不是值。因此,在列族中不可能有多个比较器。您可能会将它们与验证程序混淆,后者会强制执行数据输入。您可以在列元数据中指定验证器。

...
with column_metadata = [
  {column_name: firstName, validation_class: UTF8Type}
  ...
];