Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行时异常:未知的比较器';复合类型';_Java_Cassandra_Astyanax_Column Family - Fatal编程技术网

Java 运行时异常:未知的比较器';复合类型';

Java 运行时异常:未知的比较器';复合类型';,java,cassandra,astyanax,column-family,Java,Cassandra,Astyanax,Column Family,我需要在Cassandra Columns族中创建复合柱 每个列值都将存储如下内容- user-id column1 123 (Column1-Value Column1-SchemaName LastModifiedDate) create column family USER_DATA with key_validation_class = 'UTF8Type' and comparator = 'CompositeType(ByteType,UTF8Type,DateT

我需要在Cassandra Columns族中创建复合柱

每个列值都将存储如下内容-

user-id   column1
123      (Column1-Value  Column1-SchemaName  LastModifiedDate)
create column family USER_DATA
with key_validation_class = 'UTF8Type'
and comparator = 'CompositeType(ByteType,UTF8Type,DateType)'
and default_validation_class = 'UTF8Type'
and gc_grace = 86400
and column_metadata = [ {column_name : 'lmd', validation_class : DateType}];
第2列和其他列也是如此。所以我决定这样做-

user-id   column1
123      (Column1-Value  Column1-SchemaName  LastModifiedDate)
create column family USER_DATA
with key_validation_class = 'UTF8Type'
and comparator = 'CompositeType(ByteType,UTF8Type,DateType)'
and default_validation_class = 'UTF8Type'
and gc_grace = 86400
and column_metadata = [ {column_name : 'lmd', validation_class : DateType}];
以下是各列的说明-

ByteType for Column-Value
UTF8Type for Column-SchemaName
DateType for LastModifiedDate
我像这样创建了下面的columnfamily-

user-id   column1
123      (Column1-Value  Column1-SchemaName  LastModifiedDate)
create column family USER_DATA
with key_validation_class = 'UTF8Type'
and comparator = 'CompositeType(ByteType,UTF8Type,DateType)'
and default_validation_class = 'UTF8Type'
and gc_grace = 86400
and column_metadata = [ {column_name : 'lmd', validation_class : DateType}];
让我知道这是否是创建上述柱族的正确方法

但是当我尝试执行上面的列时,我总是得到下面的错误

[default@userks]     create column family USER_DATA
...         with key_validation_class = 'UTF8Type'
...         and comparator = 'CompositeType(ByteType,UTF8Type,DateType)'
...         and default_validation_class = 'UTF8Type'
...         and gc_grace = 86400
...         and column_metadata = [ {column_name : 'lmd', validation_class : DateType}];

java.lang.RuntimeException: Unknown comparator 'CompositeType(ByteType,UTF8Type,DateType)'. Available functions: bytes, integer, long, int, lexicaluui
d, timeuuid, utf8, ascii, double, countercolumn.
有人能帮我吗

更新:-

我刚发现那个错误,我忘了在ByteType中添加额外的
s

下面是一个家庭-

create column family USER_DATA
with key_validation_class = 'UTF8Type'
and comparator = 'CompositeType(BytesType,UTF8Type,DateType)'
and default_validation_class = 'UTF8Type'
and gc_grace = 86400
and column_metadata = [ {column_name : 'lmd', validation_class : DateType}];
下面是我得到的错误

[default@beprofileks]     create column family USER_DATA
...         with key_validation_class = 'UTF8Type'
...         and comparator = 'CompositeType(BytesType,UTF8Type,DateType)'
...         and default_validation_class = 'UTF8Type'
...         and gc_grace = 86400
...         and column_metadata = [ {column_name : 'lmd', validation_class : DateType}];

java.lang.RuntimeException: org.apache.cassandra.db.marshal.MarshalException: cannot parse 'lmd' as hex bytes

它应该是
BytesType
,而不是
ByteType

CompositeType(BytesType,UTF8Type,DateType)

另一个问题是,
lmd
不是comparator
CompositeType(ByTestType、UTF8Type、DateType)的有效列名
。有效名称是,例如,
aa00:string:2013-09-19

我的错误。我刚刚发现了那个错误。。但在做了那个改变之后,我又得到了一个例外。我也编辑了我的问题。