Мне нужно создать CompositeColumns в Cassandra ColumnFamily.RuntimeException: Неизвестный компаратор 'CompositeType'
Каждое значение столбца будет хранить что-то вроде this-
user-id column1
123 (Column1-Value Column1-SchemaName LastModifiedDate)
же с COLUMN2, а и других столбцов, а также. Поэтому я решил пойти что-то вроде this-
Ниже приводится описание для columns-
ByteType for Column-Value
UTF8Type for Column-SchemaName
DateType for LastModifiedDate
Я создал ниже ColumnFamily как this-
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}];
Позвольте мне знать, если это правильный способ создания вышеупомянутого семейства столбцов?
Но как только я попытаюсь выполнить вышеупомянутый столбец, я всегда получаю следующую ошибку.
[[email protected]] 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.
Может ли кто-нибудь помочь мне с этим?
Обновление: -
Я только что узнал об этой ошибке, я забыл добавить дополнительные s
в ByteType.
Ниже ColumnFamily-
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}];
Ниже ошибка я получил ..
[[email protected]] 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
Моя ошибка. Я просто поймаю эту ошибку. Но после внесения изменений я получаю еще одно исключение. Я тоже редактировал свой вопрос. – AKIWEB
Я обновил свой ответ. – Richard